Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove references to PICA and rasterizers in video_core | James Rowe | 2018-01-13 | 1 | -154/+0 |
| | |||||
* | Improved performance of FromAttributeBuffer | Huw Pascoe | 2017-09-17 | 1 | -1/+2 |
| | | | | | | | Ternary operator is optimized by the compiler whereas std::min() is meant to return a value. I've noticed a 5%-10% emulation speed increase. | ||||
* | correct constness | wwylele | 2017-08-19 | 1 | -1/+2 |
| | |||||
* | pica/shader: extend UnitState for GS | wwylele | 2017-08-19 | 1 | -0/+38 |
| | | | | | Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access. This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits | ||||
* | Merge pull request #2550 from yuriks/pica-refactor2 | Yuri Kunde Schlesner | 2017-02-12 | 1 | -1/+2 |
|\ | | | | | Small VideoCore cleanups | ||||
| * | VideoCore: Split regs.h inclusions | Yuri Kunde Schlesner | 2017-02-09 | 1 | -1/+2 |
| | | |||||
* | | video_core: Fix benign out-of-bounds indexing of array (#2553) | Yuri Kunde Schlesner | 2017-02-11 | 1 | -2/+1 |
|/ | | | | | | The resulting pointer wasn't written to unless the index was verified as valid, but that's still UB and triggered debug checks in MSVC. Reported by garrettboast on IRC | ||||
* | VideoCore: Move Regs to its own file | Yuri Kunde Schlesner | 2017-02-04 | 1 | -1/+1 |
| | |||||
* | VideoCore: Split shader regs from Regs struct | Yuri Kunde Schlesner | 2017-02-04 | 1 | -2/+2 |
| | |||||
* | VideoCore: Split rasterizer regs from Regs struct | Yuri Kunde Schlesner | 2017-02-04 | 1 | -4/+4 |
| | |||||
* | VideoCore: Extract swrast-specific data from OutputVertex | Yuri Kunde Schlesner | 2017-01-30 | 1 | -1/+1 |
| | |||||
* | VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer | Yuri Kunde Schlesner | 2017-01-30 | 1 | -9/+14 |
| | | | | | | This also fixes a long-standing but neverthless harmless memory corruption bug, whech the padding of the OutputVertex struct would get corrupted by unused attributes. | ||||
* | VideoCore: Split shader output writing from semantic loading | Yuri Kunde Schlesner | 2017-01-30 | 1 | -16/+13 |
| | |||||
* | VideoCore: Consistently use shader configuration to load attributes | Yuri Kunde Schlesner | 2017-01-30 | 1 | -5/+6 |
| | |||||
* | VideoCore: Rename some types to more accurate names | Yuri Kunde Schlesner | 2017-01-30 | 1 | -1/+1 |
| | |||||
* | Shader: Remove OutputRegisters struct | Yuri Kunde Schlesner | 2017-01-26 | 1 | -5/+6 |
| | |||||
* | Shader: Initialize conditional_code in interpreter | Yuri Kunde Schlesner | 2017-01-26 | 1 | -3/+0 |
| | | | | | | | This doesn't belong in LoadInputVertex because it also happens for non-VS invocations. Since it's not used by the JIT it seems adequate to initialize it in the interpreter which is the only thing that cares about them. | ||||
* | VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines | Yuri Kunde Schlesner | 2017-01-26 | 1 | -79/+13 |
| | |||||
* | VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h} | Yuri Kunde Schlesner | 2017-01-26 | 1 | -1/+1 |
| | |||||
* | VideoCore/Shader: Split shader uniform state and shader engine | Yuri Kunde Schlesner | 2017-01-26 | 1 | -11/+33 |
| | | | | | Currently there's only a single dummy implementation, which will be split in a following commit. | ||||
* | VideoCore/Shader: Add constness to methods | Yuri Kunde Schlesner | 2017-01-26 | 1 | -2/+2 |
| | |||||
* | VideoCore/Shader: Use only entry_point as ShaderSetup param | Yuri Kunde Schlesner | 2017-01-26 | 1 | -7/+9 |
| | | | | | This removes all implicit dependency of ShaderState on global PICA state. | ||||
* | VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup | Yuri Kunde Schlesner | 2017-01-26 | 1 | -9/+7 |
| | |||||
* | VideoCore/Shader: Extract input vertex loading code into function | Yuri Kunde Schlesner | 2017-01-26 | 1 | -17/+13 |
| | |||||
* | video_core: fix shader.cpp signed / unsigned warning | Kloen | 2017-01-23 | 1 | -2/+2 |
| | |||||
* | VideoCore/Shader: Extract DebugData out from UnitState | Yuri Kunde Schlesner | 2016-12-16 | 1 | -14/+12 |
| | |||||
* | VideoCore: Eliminate an unnecessary copy in the drawcall loop | Yuri Kunde Schlesner | 2016-12-15 | 1 | -1/+1 |
| | |||||
* | VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfo | Yuri Kunde Schlesner | 2016-09-30 | 1 | -3/+1 |
| | | | | | | As far as I can tell, memset was replaced by a fill without correcting the parameter type, causing an out-of-bounds array read in the Vec4 constructor. | ||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 1 | -1/+1 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -6/+1 |
| | | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | ||||
* | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 2016-09-19 | 1 | -2/+2 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -19/+20 |
| | |||||
* | Retrieve shader result from new OutputRegisters-type | Jannik Vogel | 2016-05-16 | 1 | -50/+53 |
| | |||||
* | Use new shader-jit signature for interpreter | Jannik Vogel | 2016-05-13 | 1 | -3/+3 |
| | |||||
* | Refactor access to state in shader-jit | Jannik Vogel | 2016-05-13 | 1 | -1/+2 |
| | |||||
* | Move program_counter and call_stack from UnitState to interpreter | Jannik Vogel | 2016-05-12 | 1 | -2/+0 |
| | |||||
* | Turn ShaderSetup into struct | Jannik Vogel | 2016-05-11 | 1 | -11/+11 |
| | |||||
* | Pica: Replace logic in shader.cpp with loop | Jannik Vogel | 2016-05-03 | 1 | -34/+4 |
| | |||||
* | VideoCore: Run include-what-you-use and fix most includes. | Emmanuel Gil Peyrot | 2016-04-30 | 1 | -7/+11 |
| | |||||
* | Common: Remove section measurement from profiler (#1731) | Yuri Kunde Schlesner | 2016-04-29 | 1 | -3/+0 |
| | | | | This has been entirely superseded by MicroProfile. The rest of the code can go when a simpler frametime/FPS meter is added to the GUI. | ||||
* | shader_jit_x64.cpp: Rename JitCompiler to JitShader. | bunnei | 2016-04-14 | 1 | -3/+3 |
| | |||||
* | shader: Remove unused 'state' argument from 'Setup' function. | bunnei | 2016-04-14 | 1 | -1/+1 |
| | |||||
* | shader_jit_x64: Specify shader main offset at runtime. | bunnei | 2016-04-14 | 1 | -3/+2 |
| | |||||
* | shader_jit_x64: Allocate each program independently and persist for emu session. | bunnei | 2016-04-14 | 1 | -20/+9 |
| | |||||
* | Merge pull request #1643 from MerryMage/make_unique | Mathew Maidment | 2016-04-06 | 1 | -1/+0 |
|\ | | | | | Common: Remove Common::make_unique, use std::make_unique | ||||
| * | Common: Remove Common::make_unique, use std::make_unique | MerryMage | 2016-04-05 | 1 | -1/+0 |
| | | |||||
* | | Merge pull request #1508 from JayFoxRox/vs-output-map | bunnei | 2016-03-22 | 1 | -4/+14 |
|\ \ | |/ |/| | Respect vs output map | ||||
| * | Respect vs output map | Jannik Vogel | 2016-03-14 | 1 | -4/+14 |
| | | |||||
* | | shader_jit_x64: Clear cache after code space fills up. | bunnei | 2016-03-12 | 1 | -1/+13 |
| | | |||||
* | | shader: Update log message to use proper log class. | bunnei | 2016-03-12 | 1 | -1/+1 |
|/ | |||||
* | Add immediate mode vertex submission | Dwayne Slater | 2016-03-03 | 1 | -1/+2 |
| | |||||
* | pica: Implement decoding of basic fragment lighting components. | bunnei | 2016-02-05 | 1 | -2/+4 |
| | | | | | | | - Diffuse - Distance attenuation - float16/float20 types - Vertex Shader 'view' output | ||||
* | video_core: Remove unused variables | Lioncash | 2015-09-10 | 1 | -1/+0 |
| | |||||
* | Shader JIT: ifdef out reference to ifdef'd out shader_map | archshift | 2015-08-27 | 1 | -0/+2 |
| | | | | | shader_map was only defined on x86 architectures, but was cleared on shutdown with no ifdef protection. Ifdef this out so non-x86 architectures can be built. | ||||
* | Integrate the MicroProfile profiling library | Yuri Kunde Schlesner | 2015-08-25 | 1 | -0/+3 |
| | | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view. | ||||
* | Introduce a shader tracer to allow inspection of input/output values for each processed instruction. | Tony Wasserka | 2015-08-16 | 1 | -4/+45 |
| | |||||
* | citra-qt: Improve shader debugger. | Tony Wasserka | 2015-08-16 | 1 | -6/+0 |
| | | | | Now supports dumping the current shader and recognizes a larger number of output semantics. | ||||
* | Shader: Use a POD struct for registers. | bunnei | 2015-08-16 | 1 | -18/+18 |
| | |||||
* | Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64. | bunnei | 2015-08-16 | 1 | -6/+5 |
| | |||||
* | x64: Refactor to remove fake interfaces and general cleanups. | bunnei | 2015-08-16 | 1 | -3/+6 |
| | |||||
* | Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders. | bunnei | 2015-08-16 | 1 | -2/+40 |
| | | | | | - Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT. | ||||
* | Common: Added MurmurHash3 hash function for general-purpose use. | bunnei | 2015-08-15 | 1 | -1/+1 |
| | |||||
* | Shader: Define a common interface for running vertex shader programs. | bunnei | 2015-08-15 | 1 | -0/+105 |