Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | GPU: Refactor "VertexShader" namespace to "Shader". | bunnei | 2015-08-15 | 1 | -629/+0 |
| | | | | - Also renames "vertex_shader.*" to "shader_interpreter.*" | ||||
* | Merge pull request #963 from yuriks/gpu-fixes | bunnei | 2015-07-29 | 1 | -0/+6 |
|\ | | | | | Misc. GPU vertex loading fixes | ||||
| * | VideoCore: Saturate vertex colors before interpolating | Yuri Kunde Schlesner | 2015-07-23 | 1 | -0/+6 |
| | | | | | | | | | | | | | | | | | | | | | | During testing, it was discovered that hardware does not interpolate colors output by the vertex shader as-is. Rather, it drops the sign and saturates the value to 1.0. This is done before interpolation, such that (e.g.) interpolating outputs 1.5 and -0.5 is equivalent to as if the shader had output the values 1.0 and 0.5 instead, with the interpolated value never crossing 0.0. This change has been tested against hardware. | ||||
* | | Merge pull request #992 from yuriks/hot-path-debug | bunnei | 2015-07-26 | 1 | -0/+2 |
|\ \ | | | | | | | VideoCore: #ifdef out some debugging routines | ||||
| * | | VideoCore: #ifdef out some debugging routines | Yuri Kunde Schlesner | 2015-07-26 | 1 | -0/+2 |
| |/ | | | | | | | | | | | | | Some disabled debugging functionality was being called from rendering routines in VideoCore. Although disabled, many of them still allocated memory or did some extra work that was enough to show up in a profiler. Gives a slight (~2ms) speedup. | ||||
* | | Videocore: Simplify variables in vertex shader interpreter | Yuri Kunde Schlesner | 2015-07-26 | 1 | -24/+21 |
| | | | | | | | | Simplifies the code and gives a tiny speed-up. | ||||
* | | Videocore: Replace std::stack in shader interpreter with static_vector | Yuri Kunde Schlesner | 2015-07-26 | 1 | -6/+6 |
|/ | | | | Shaves off 1/3rd of the vertex shader time in Fire Emblem | ||||
* | Merge pull request #929 from neobrain/geoshader_definitions | Tony Wasserka | 2015-07-21 | 1 | -9/+7 |
|\ | | | | | Pica/Shader: Add geometry shader definitions. | ||||
| * | Pica/Shader: Add geometry shader definitions. | Tony Wasserka | 2015-07-15 | 1 | -9/+7 |
| | | |||||
* | | Pica: Fix DP3 instruction, which wasn't assigning to the w component | Yuri Kunde Schlesner | 2015-07-20 | 1 | -1/+1 |
|/ | |||||
* | vertex_shader: Use address offset on src2 in inverted mode. | bunnei | 2015-05-31 | 1 | -3/+3 |
| | |||||
* | vertex_shader: Implement SLT/SLTI instructions. | bunnei | 2015-05-31 | 1 | -4/+10 |
| | |||||
* | vertex_shader: Implement MIN instruction. | bunnei | 2015-05-31 | 1 | -0/+9 |
| | |||||
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 1 | -2/+2 |
| | |||||
* | Pica: Create 'State' structure and move state memory there. | bunnei | 2015-05-23 | 1 | -69/+27 |
| | |||||
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -2/+0 |
| | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | GPU: Add more fine grained profiling for vertex shader and rasterization | Yuri Kunde Schlesner | 2015-05-12 | 1 | -0/+5 |
| | |||||
* | vertex_shader: Implement FLR instruction. | bunnei | 2015-05-10 | 1 | -0/+9 |
| | |||||
* | vertex_shader: Implement MADI instruction. | bunnei | 2015-05-10 | 1 | -4/+7 |
| | | | | nihstro: Update submodule to latest upstream/master to support MADI instruction decoding. | ||||
* | GPU: Implemented default vertex shader attributes. | Subv | 2015-05-07 | 1 | -16/+23 |
| | | | | Fixes some games crashing. | ||||
* | Pica/VertexShader: Fix a bug caused due to incorrect assumptions of consecutive output register tables. | Tony Wasserka | 2015-03-12 | 1 | -20/+24 |
| | | | | We now write create a temporary buffer for output registers and copy all of them to the actual output vertex structure after the shader has run. This is technically not necessary, but it's easier to vectorize in the future. | ||||
* | Update nihstro submodule to the initial release version. | archshift | 2015-03-08 | 1 | -37/+38 |
| | | | | Includes more opcodes to implement in the future. | ||||
* | Pica/VertexShader: Fixed LOOP with more than one iteration. | Subv | 2015-02-21 | 1 | -1/+4 |
| | | | | | Previously it wouldn't jump back to the start of the loop code once it reached the end of the block. Fixes the texture problems in a lot of games. | ||||
* | Pica/VertexShader: Implement the LOOP instruction. | Tony Wasserka | 2015-02-18 | 1 | -14/+36 |
| | |||||
* | Build: Fixed some warnings | Subv | 2015-02-12 | 1 | -2/+2 |
| | |||||
* | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 2015-02-11 | 1 | -8/+5 |
| | | | | | | | 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. | ||||
* | Merge pull request #478 from archshift/pp3ports4 | bunnei | 2015-01-13 | 1 | -0/+69 |
|\ | | | | | Pica/VertexShader: Implement the MAD instruction. | ||||
| * | Pica/VertexShader: Implement the MAD instruction. | Tony Wasserka | 2015-01-13 | 1 | -0/+69 |
| | | |||||
* | | Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU. | Tony Wasserka | 2015-01-13 | 1 | -23/+52 |
|/ | |||||
* | Pica/VertexShader: Coding style fixes. | Tony Wasserka | 2014-12-31 | 1 | -16/+8 |
| | |||||
* | Pica/CommandProcessor: Add support for integer uniforms. | Tony Wasserka | 2014-12-31 | 1 | -0/+7 |
| | |||||
* | Vertex Shader: Zero OutputVertex to avoid denormals | Yuri Kunde Schlesner | 2014-12-29 | 1 | -0/+4 |
| | | | | | | | | | 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. | ||||
* | Merge pull request #327 from Apology11/master | bunnei | 2014-12-27 | 1 | -4/+4 |
|\ | | | | | Fix visual studio ambiguous symbol error | ||||
| * | Fix visual studio ambiguous symbol error | Apology11 | 2014-12-21 | 1 | -4/+4 |
| | | |||||
* | | Merge pull request #291 from purpasmart96/license | bunnei | 2014-12-21 | 1 | -1/+1 |
|\ \ | |/ |/| | License change | ||||
| * | License change | purpasmart96 | 2014-12-21 | 1 | -1/+1 |
| | | |||||
* | | Pica/VertexShader: Promote a log message to critical status. | Tony Wasserka | 2014-12-20 | 1 | -1/+1 |
| | | |||||
* | | Pica/VertexShader: Small optimization. | Tony Wasserka | 2014-12-20 | 1 | -7/+7 |
| | | |||||
* | | Pica/VertexShader: Be robust against invalid inputs. | Tony Wasserka | 2014-12-20 | 1 | -2/+9 |
| | | | | | | | | More specifically, this also fixes crashes by Citra trying to load a src2 register even if the current instruction does not use that. | ||||
* | | Pica/VertexShader: Clarify a comment. | Tony Wasserka | 2014-12-20 | 1 | -1/+3 |
| | | |||||
* | | Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU instructions. | Tony Wasserka | 2014-12-20 | 1 | -50/+56 |
| | | |||||
* | | Pica/VertexShader: Run instruction handlers according to the effective opcode. | Tony Wasserka | 2014-12-20 | 1 | -1/+1 |
| | | | | | | | | This allows for proper emulation of the different CMP/LRP/MAD instructions. | ||||
* | | Pica/VertexShader: Implement MAX instructions. | Tony Wasserka | 2014-12-20 | 1 | -0/+9 |
| | | |||||
* | | Pica: Add support for boolean uniforms. | Tony Wasserka | 2014-12-20 | 1 | -1/+7 |
| | | |||||
* | | Pica/VertexShader: Add support for MOVA, CMP and IFC. | Tony Wasserka | 2014-12-20 | 1 | -7/+130 |
| | | |||||
* | | Pica/VertexShader: Move code around a bit. | Tony Wasserka | 2014-12-20 | 1 | -42/+58 |
| | | |||||
* | | Pica/VertexShader: Some cleanups using std::array. | Tony Wasserka | 2014-12-20 | 1 | -5/+16 |
| | | |||||
* | | Pica/VertexShader: Support negating src2. | Tony Wasserka | 2014-12-20 | 1 | -2/+9 |
| | | |||||
* | | Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in favor of nihstro's ones. | Tony Wasserka | 2014-12-20 | 1 | -13/+30 |
|/ | |||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -3/+3 |
| | |||||
* | Integrate Boost into build system and perform a trivial cleanup in vertex_shader.cpp. | Tony Wasserka | 2014-12-07 | 1 | -6/+10 |
| | |||||
* | Fix warnings in video_core | Lioncash | 2014-10-08 | 1 | -1/+1 |
| | |||||
* | Pica/VertexShader: Fix a bug in the call stack handling. | Tony Wasserka | 2014-08-25 | 1 | -2/+3 |
| | |||||
* | Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers. | Tony Wasserka | 2014-08-25 | 1 | -11/+17 |
| | |||||
* | Pica: Add debug utilities for dumping shaders. | Tony Wasserka | 2014-08-25 | 1 | -0/+18 |
| | |||||
* | Pica: Add vertex shader implementation. | Tony Wasserka | 2014-08-12 | 1 | -0/+270 |