aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/video_core/vertex_shader.cpp
Commit message (Collapse)AuthorAge
* Merge pull request #963 from yuriks/gpu-fixesGravatar bunnei2015-07-29
|\ | | | | Misc. GPU vertex loading fixes
* \ Merge pull request #992 from yuriks/hot-path-debugGravatar bunnei2015-07-26
|\ \ | | | | | | VideoCore: #ifdef out some debugging routines
* | | Videocore: Simplify variables in vertex shader interpreterGravatar Yuri Kunde Schlesner2015-07-26
| | | | | | | | | | | | Simplifies the code and gives a tiny speed-up.
* | | Videocore: Replace std::stack in shader interpreter with static_vectorGravatar Yuri Kunde Schlesner2015-07-26
| | | | | | | | | | | | Shaves off 1/3rd of the vertex shader time in Fire Emblem
| * | VideoCore: #ifdef out some debugging routinesGravatar Yuri Kunde Schlesner2015-07-26
|/ / | | | | | | | | | | | | 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: Saturate vertex colors before interpolatingGravatar Yuri Kunde Schlesner2015-07-23
|/ | | | | | | | | | | 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 #929 from neobrain/geoshader_definitionsGravatar Tony Wasserka2015-07-21
|\ | | | | Pica/Shader: Add geometry shader definitions.
* | Pica: Fix DP3 instruction, which wasn't assigning to the w componentGravatar Yuri Kunde Schlesner2015-07-19
| |
| * Pica/Shader: Add geometry shader definitions.Gravatar Tony Wasserka2015-07-15
|/
* vertex_shader: Use address offset on src2 in inverted mode.Gravatar bunnei2015-05-31
|
* vertex_shader: Implement SLT/SLTI instructions.Gravatar bunnei2015-05-31
|
* vertex_shader: Implement MIN instruction.Gravatar bunnei2015-05-31
|
* Remove every trailing whitespace from the project (but externals).Gravatar Emmanuel Gil Peyrot2015-05-29
|
* Pica: Create 'State' structure and move state memory there.Gravatar bunnei2015-05-22
|
* Memmap: Re-organize memory function in two filesGravatar Yuri Kunde Schlesner2015-05-15
| | | | | | | 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 rasterizationGravatar Yuri Kunde Schlesner2015-05-12
|
* vertex_shader: Implement FLR instruction.Gravatar bunnei2015-05-09
|
* vertex_shader: Implement MADI instruction.Gravatar bunnei2015-05-09
| | | | nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
* GPU: Implemented default vertex shader attributes.Gravatar Subv2015-05-06
| | | | Fixes some games crashing.
* Pica/VertexShader: Fix a bug caused due to incorrect assumptions of ↵Gravatar Tony Wasserka2015-03-12
| | | | | | consecutive output register tables. 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.Gravatar archshift2015-03-08
| | | | Includes more opcodes to implement in the future.
* Pica/VertexShader: Fixed LOOP with more than one iteration.Gravatar Subv2015-02-21
| | | | | 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.Gravatar Tony Wasserka2015-02-18
|
* Build: Fixed some warningsGravatar Subv2015-02-12
|
* Asserts: break/crash program, fit to style guide; log.h->assert.hGravatar archshift2015-02-10
| | | | | | | 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/pp3ports4Gravatar bunnei2015-01-12
|\ | | | | Pica/VertexShader: Implement the MAD instruction.
* | Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.Gravatar Tony Wasserka2015-01-12
| |
| * Pica/VertexShader: Implement the MAD instruction.Gravatar Tony Wasserka2015-01-12
|/
* Pica/VertexShader: Coding style fixes.Gravatar Tony Wasserka2014-12-31
|
* Pica/CommandProcessor: Add support for integer uniforms.Gravatar Tony Wasserka2014-12-31
|
* Vertex Shader: Zero OutputVertex to avoid denormalsGravatar Yuri Kunde Schlesner2014-12-29
| | | | | | | | | 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/masterGravatar bunnei2014-12-26
|\ | | | | Fix visual studio ambiguous symbol error
* \ Merge pull request #291 from purpasmart96/licenseGravatar bunnei2014-12-21
|\ \ | | | | | | License change
| | * Fix visual studio ambiguous symbol errorGravatar Apology112014-12-21
| |/ |/|
| * License changeGravatar purpasmart962014-12-20
| |
* | Pica/VertexShader: Promote a log message to critical status.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Small optimization.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Be robust against invalid inputs.Gravatar Tony Wasserka2014-12-20
| | | | | | | | 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.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Cleanup flow control logic and implement CMP/IFU ↵Gravatar Tony Wasserka2014-12-20
| | | | | | | | instructions.
* | Pica/VertexShader: Run instruction handlers according to the effective opcode.Gravatar Tony Wasserka2014-12-20
| | | | | | | | This allows for proper emulation of the different CMP/LRP/MAD instructions.
* | Pica/VertexShader: Implement MAX instructions.Gravatar Tony Wasserka2014-12-20
| |
* | Pica: Add support for boolean uniforms.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Add support for MOVA, CMP and IFC.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Move code around a bit.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Some cleanups using std::array.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Support negating src2.Gravatar Tony Wasserka2014-12-20
| |
* | Pica/VertexShader: Remove (now) duplicated shader bytecode definitions in ↵Gravatar Tony Wasserka2014-12-20
|/ | | | favor of nihstro's ones.
* Convert old logging calls to new logging macrosGravatar Yuri Kunde Schlesner2014-12-13
|
* Integrate Boost into build system and perform a trivial cleanup in ↵Gravatar Tony Wasserka2014-12-07
| | | | vertex_shader.cpp.