Commit Graph

25 Commits

Author SHA1 Message Date
Yuri Kunde Schlesner 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
bunnei 01c675685e Merge pull request #327 from Apology11/master
Fix visual studio ambiguous symbol error
2014-12-26 21:43:59 -05:00
bunnei 0de6a08d75 Merge pull request #291 from purpasmart96/license
License change
2014-12-21 16:05:44 -05:00
Apology11 8d81e23d6e Fix visual studio ambiguous symbol error 2014-12-21 18:34:20 +01:00
purpasmart96 ebfd831ccb License change 2014-12-20 21:20:24 -08:00
Tony Wasserka 08f42c2b8c Pica/VertexShader: Promote a log message to critical status. 2014-12-20 18:06:56 +01:00
Tony Wasserka 17f31de364 Pica/VertexShader: Small optimization. 2014-12-20 18:06:56 +01:00
Tony Wasserka a664574ecb Pica/VertexShader: Be robust against invalid inputs.
More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that.
2014-12-20 18:06:56 +01:00
Tony Wasserka ad5db467d7 Pica/VertexShader: Clarify a comment. 2014-12-20 18:06:56 +01:00
Tony Wasserka 6bd41de276 Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions. 2014-12-20 18:06:55 +01:00
Tony Wasserka 22afb9d830 Pica/VertexShader: Run instruction handlers according to the effective opcode.
This allows for proper emulation of the different CMP/LRP/MAD instructions.
2014-12-20 18:06:55 +01:00
Tony Wasserka cd163fb59a Pica/VertexShader: Implement MAX instructions. 2014-12-20 18:06:55 +01:00
Tony Wasserka aff808b2fd Pica: Add support for boolean uniforms. 2014-12-20 18:06:55 +01:00
Tony Wasserka 67618a2c55 Pica/VertexShader: Add support for MOVA, CMP and IFC. 2014-12-20 18:06:55 +01:00
Tony Wasserka cb1804e0ab Pica/VertexShader: Move code around a bit. 2014-12-20 18:06:55 +01:00
Tony Wasserka b85524c760 Pica/VertexShader: Some cleanups using std::array. 2014-12-20 18:06:55 +01:00
Tony Wasserka ce36ad454e Pica/VertexShader: Support negating src2. 2014-12-20 18:06:55 +01:00
Tony Wasserka 8ce1d32460 Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones. 2014-12-20 18:06:55 +01:00
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02:00
Tony Wasserka 4d4572c697 Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp. 2014-12-07 23:52:17 +01:00
Lioncash eb5054e6eb Fix warnings in video_core 2014-10-07 20:35:13 -04:00
Tony Wasserka 697b50c3ff Pica/VertexShader: Fix a bug in the call stack handling. 2014-08-25 22:03:19 +02:00
Tony Wasserka 62c36a4ef0 Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers. 2014-08-25 22:03:18 +02:00
Tony Wasserka f37e39deb9 Pica: Add debug utilities for dumping shaders. 2014-08-25 22:03:18 +02:00
Tony Wasserka c526512619 Pica: Add vertex shader implementation. 2014-08-12 13:48:10 +02:00