Commit Graph

1234 Commits

Author SHA1 Message Date
Tony Wasserka
9675d19b47 Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea. 2014-12-31 16:32:56 +01:00
Tony Wasserka
47543d62cf Pica: Cleanup color conversion. 2014-12-31 16:32:55 +01:00
Tony Wasserka
614baa39d1 VideoCore: Remove some unused functions. 2014-12-31 16:32:55 +01:00
Tony Wasserka
d13bd327ba Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping. 2014-12-31 16:32:55 +01:00
Tony Wasserka
195d73a385 Pica/Rasterizer: Clean up long code lines. 2014-12-31 16:32:55 +01:00
Tony Wasserka
40c7200841 Pica/VertexShader: Coding style fixes. 2014-12-31 16:32:55 +01:00
Tony Wasserka
323a56f898 Pica/CommandProcessor: Cleanups. 2014-12-31 16:32:55 +01:00
Tony Wasserka
b2d461020d Pica/CommandProcessor: Workaround games not setting the input position's w component. 2014-12-31 16:32:55 +01:00
Tony Wasserka
18a5e888bb GPU: Pseudo-implement horizontal scaling.
It's not really known how this actually works. Some testing has shown that this probably performs no filtering, and common usage in games suggests it's not actually resizing the image at all.
However, this patch does seem to fix some homebrew showing quasi-duplicated images while still keeping other applications in a working state.
2014-12-31 16:32:55 +01:00
Tony Wasserka
0f49424022 Pica/Rasterizer: Implement backface culling. 2014-12-31 16:32:55 +01:00
Tony Wasserka
3b78af904e Pica/Rasterizer: Textures seem to be laid out flipped vertically.
Not sure if this is a correct fix. Probably should instead change the decoding logic itself.
2014-12-31 16:32:55 +01:00
Tony Wasserka
3da52ead9b Pica/DebugUtils: Fix a bug in RGBA4 texture decoding. 2014-12-31 16:32:55 +01:00
Tony Wasserka
a7ae0330b1 Pica/Rasterizer: Implement alpha blending. 2014-12-31 16:32:55 +01:00
Tony Wasserka
e229ff8c83 Pica/Rasterizer: Implement depth testing. 2014-12-31 16:32:55 +01:00
Tony Wasserka
77bb58afeb Pica/Rasterizer: Further enhance Tev support. 2014-12-31 15:35:54 +01:00
Tony Wasserka
36291bc3f6 Pica: Add output merger definitions. 2014-12-31 15:35:54 +01:00
Tony Wasserka
632655e292 Pica: Fix A4, IA4 and IA8 texture formats.
Both IA4 and IA8 had their component order mixed up. Additionally, IA4 used the wrong number of nibbles per texel. A4 skipped every second texel.
2014-12-31 15:35:24 +01:00
Tony Wasserka
b7a48c422a Pica/CommandProcessor: Add support for integer uniforms. 2014-12-31 15:33:09 +01:00
Tony Wasserka
b03a97e0b8 citra-qt: Fix displaying RGBA5551 framebuffers.
(not that it matters at the moment, because this code is not used yet)
2014-12-31 15:33:09 +01:00
Tony Wasserka
e1144e364e citra-qt: Always show pica framebuffers as RGBA8.
We actually don't really know yet how the format is encoded. Hence just use what works.
2014-12-31 15:33:09 +01:00
bunnei
746fcf5a59 Merge pull request #338 from chinhodado/master
Add citra icon to executable and window title in Windows
2014-12-31 00:47:06 -05:00
Chin
3aeb5970e5 Add citra icon to Windows executable and title bar 2014-12-31 00:38:03 -05:00
bunnei
631f13e462 dyncom: Massive refactor 2014-12-30 23:56:45 -05:00
bunnei
29da5da951 Merge pull request #369 from darkf/mingw_
Fix MinGW build (2)
2014-12-30 23:54:02 -05:00
Lioncash
5894c407c2 vfp: Get rid of a few warnings 2014-12-30 13:08:56 -05:00
Lioncash
6ce4b7b666 vfp: Implement VMOVBRRSS 2014-12-30 11:04:22 -05:00
Lioncash
cc9f458ad3 dyncom: Implement USAT16/SSAT16 2014-12-30 09:43:24 -05:00
darkf
5d10b212ec Fix MSVC-related #defines and add CMakeLists comment 2014-12-29 20:12:03 -08:00
bunnei
b3240f6455 Merge pull request #368 from purpasmart96/dsp_mem
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 23:08:51 -05:00
Subv
545ded954d APT:A: Some style changes 2014-12-29 22:59:28 -05:00
darkf
8ba9ac0f74 Fix merge conflicts 2014-12-29 19:47:41 -08:00
purpasmart96
d5049cbba5 MemMap: Add support for DSP Read & Writes in the memory map 2014-12-29 19:35:06 -08:00
Subv
2c89d4d5cd Archives: Implemented ExtSaveData and SharedExtSaveData
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-29 22:29:55 -05:00
bunnei
021fb42075 dyncom: Implement USAT/SSAT 2014-12-29 22:15:15 -05:00
bunnei
78bb86293f Merge pull request #253 from purpasmart96/mem_map
MemMap: Removed I/O address's and added more stuff
2014-12-29 21:57:04 -05:00
bunnei
c2f41f0404 Merge pull request #362 from bunnei/dyncom-cleanup
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:53:49 -05:00
bunnei
dedbdb2dfb Merge pull request #344 from Yllodra/Qt-Oddities
Allow focus on the Qt render widget
2014-12-29 21:52:38 -05:00
bunnei
aa49019afb dyncom: Various cleanups to match coding style, no functional changes. 2014-12-29 21:50:47 -05:00
Tony Wasserka
b7e0b16354 Merge pull request #351 from yuriks/optimize
Rasterizer Optimizations
2014-12-30 00:13:48 +01:00
bunnei
2d2aa2c0be Merge pull request #361 from lioncash/moreqops
dyncom/armemu: Implement QADD8/QSUB8.
2014-12-29 14:53:04 -05:00
Lioncash
d08d9f8747 dyncom: Fix SMLALXY's instruction labels
They were erroneously labeled as SMLAL.
2014-12-29 12:04:34 -05:00
Tony Wasserka
13699f05e7 Merge pull request #303 from linkmauve/fs-cleanup
FileSys cleanup
2014-12-29 12:14:59 +01:00
Lioncash
e412c0fc46 dyncom: Implement QADD8/QSUB8 2014-12-29 00:54:48 -05:00
Lioncash
7ad400d5a7 armemu: Implement QADD8/QSUB8 2014-12-29 00:49:10 -05:00
bunnei
472ec0d0cf Merge pull request #360 from lioncash/dynuxt
dyncom: Implement UXTB16/UXTAB16
2014-12-28 23:20:30 -05:00
Yuri Kunde Schlesner
8369ee5803 Rasterizer: Pre-divide vertex attributes by W
Execute the division-by-W for perspective-correct interpolation of
values in the clipper, moving them out of the rasterization inner loop.
2014-12-29 02:08:11 -02:00
Yuri Kunde Schlesner
fe186d3a59 GPU: Bitwise texture swizzling
Replace the loop-based texture address swizzling code by a bit-twiddling
implementation, providing a very small speed up. Also simplify
addressing code.
2014-12-29 02:08:11 -02:00
Yuri Kunde Schlesner
2012e1420f Rasterizer: Common sub-expression elimination
Move the computation of some values out of loops so that they're not
constantly recalculated even when they don't change.
2014-12-29 02:08:10 -02:00
Yuri Kunde Schlesner
7e9bc85cc8 Clipper: Compact buffers on each clipping pass
Use a new buffer management scheme in the clipper that allows using a
bounded minimal amount of buffer space. Even though it copies more data
it is still slightly faster likely due to using less cache.
2014-12-29 02:08:10 -02:00
Yuri Kunde Schlesner
a320d1a5b4 Clipper: Avoid dynamic allocations
The triangle clipper was allocating its temporary input, output and work
buffers using a std::vector. Since this is a hot path, it's desirable to
use stack allocation instead.
2014-12-29 02:08:09 -02:00