6c26ec72a5
Pica/CommandProcessor: Properly implement shader load destination offset registers.
2015-02-18 14:02:59 +01:00
67120270f2
Pica/CommandProcessor: Work around initialized vertex attributes some more.
2015-02-18 14:02:59 +01:00
5d2366e1e9
core/video_core: Use in-place construction where possible
2015-02-17 17:57:23 -05:00
8a1c08a0af
VideoCore: Fix a typo in Vec4 MakeVec(T, Vec3<T>), where the second argument was Vec2<T> instead.
2015-02-16 21:51:37 +00:00
c439b3074d
video_core: Implement the remaining framebuffer formats in the OpenGL renderer.
2015-02-15 14:08:12 +00:00
12181c8a64
Merge pull request #529 from Subv/master
...
Build: Fixed some warnings
2015-02-14 15:50:26 -05:00
8e2b248e05
Build: Fixed some warnings
2015-02-12 09:25:35 -05:00
5db62cc758
Fix Min and Max blend equations
2015-02-11 15:33:44 -06:00
ef24e72b26
Asserts: break/crash program, fit to style guide; log.h->assert.h
...
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)
Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
536958fb29
Add more blend equations from 3dbrew
2015-02-09 20:41:06 -06:00
1eb591d6fd
Rasterizer: Implement the other color and alpha modifiers.
2015-02-04 22:15:51 -05:00
8c93a28fed
VideoCore: Added same-component swizzlers to math utility functions.
2015-02-04 22:15:44 -05:00
72cc512b1e
Pica: Implement blend factors.
2015-01-31 01:40:05 -05:00
b522cf4e6a
Pica: Implement color/alpha channel enable.
2015-01-27 22:03:34 -05:00
b2c55bf772
Rasterizer: Implemented alpha testing.
2015-01-27 14:39:17 -05:00
ff83d23ed5
GPU: Implement the remaining depth testing functions.
2015-01-25 23:34:14 -05:00
5961a2852d
GSP: Update framebuffer info on all interrupts
...
Hardware testing determined that the GSP processes shared memory
framebuffer update info even when no memory transfer or filling GX
commands are used. They are now updated on every interrupt, which isn't
confirmed correct but matches hardware behaviour more closely.
This also reverts the hack introduced in #404 . It made a few games
behave better, but I believe it's incorrect and also breaks other games.
2015-01-14 05:20:12 -02:00
93f36c49f7
Merge pull request #473 from archshift/pp3ports
...
Pica/Rasterizer: Add ETC1 texture decompression support.
2015-01-13 18:11:18 -05:00
f2b74b4fb3
Pica/Rasterizer: Add ETC1 texture decompression support.
2015-01-13 14:42:40 -08:00
99c0716d4d
Merge pull request #478 from archshift/pp3ports4
...
Pica/VertexShader: Implement the MAD instruction.
2015-01-12 21:55:35 -05:00
2b9a9a45b7
Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.
2015-01-12 15:47:21 -08:00
e02db3904b
Pica/VertexShader: Implement the MAD instruction.
2015-01-12 15:34:36 -08:00
f7a3f45f1e
GSP: Toggle active framebuffer each frame
2015-01-07 18:06:00 -05:00
bc187be0c1
Pica/Rasterizer: Remove some redundant casts.
2014-12-31 16:32:56 +01:00
9675d19b47
Pica/Rasterizer: Make orient2d a free function and rename it to SignedArea.
2014-12-31 16:32:56 +01:00
47543d62cf
Pica: Cleanup color conversion.
2014-12-31 16:32:55 +01:00
614baa39d1
VideoCore: Remove some unused functions.
2014-12-31 16:32:55 +01:00
d13bd327ba
Pica/Rasterizer: Fix a bug related to multitexturing and texture wrapping.
2014-12-31 16:32:55 +01:00
195d73a385
Pica/Rasterizer: Clean up long code lines.
2014-12-31 16:32:55 +01:00
40c7200841
Pica/VertexShader: Coding style fixes.
2014-12-31 16:32:55 +01:00
323a56f898
Pica/CommandProcessor: Cleanups.
2014-12-31 16:32:55 +01:00
b2d461020d
Pica/CommandProcessor: Workaround games not setting the input position's w component.
2014-12-31 16:32:55 +01:00
0f49424022
Pica/Rasterizer: Implement backface culling.
2014-12-31 16:32:55 +01:00
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
3da52ead9b
Pica/DebugUtils: Fix a bug in RGBA4 texture decoding.
2014-12-31 16:32:55 +01:00
a7ae0330b1
Pica/Rasterizer: Implement alpha blending.
2014-12-31 16:32:55 +01:00
e229ff8c83
Pica/Rasterizer: Implement depth testing.
2014-12-31 16:32:55 +01:00
77bb58afeb
Pica/Rasterizer: Further enhance Tev support.
2014-12-31 15:35:54 +01:00
36291bc3f6
Pica: Add output merger definitions.
2014-12-31 15:35:54 +01:00
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
b7a48c422a
Pica/CommandProcessor: Add support for integer uniforms.
2014-12-31 15:33:09 +01:00
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
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
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
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
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
d151d797b1
Vertex Shader: Zero OutputVertex to avoid denormals
...
Unused OutputVertex attributes were being left un-initialized. The
leftover garbage sometimes decoded as floating-point denormalized
values, causing fallbacks to microcode and massive slowdowns in the rest
of the rasterization pipeline even though the results were unused. By
zeroing the structure we ensure these attributes only contain harmless
zeros.
2014-12-29 02:08:09 -02:00
3b9d181b8e
GPU: Implement frameskip and remove forced framebuffer swap hack.
2014-12-28 22:14:05 -05:00
01c675685e
Merge pull request #327 from Apology11/master
...
Fix visual studio ambiguous symbol error
2014-12-26 21:43:59 -05:00
2188af4a65
Merge pull request #322 from chinhodado/master
...
More warning cleanups
2014-12-22 00:12:43 -05:00