Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | correct constness | wwylele | 2017-08-19 | 1 | -1/+2 |
| | |||||
* | pica/shader: extend UnitState for GS | wwylele | 2017-08-19 | 1 | -0/+46 |
| | | | | | 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 | ||||
* | Pica: Set program code / swizzle data limit to 4096 | Jannik Vogel | 2017-05-11 | 1 | -2/+5 |
| | | | | | | | | | | | | | One of the later commits will enable writing to GS regs. It turns out that on startup, most games will write 4096 GS program words. The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages: ``` HW.GPU <Error> video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024 ``` New constants have been introduced to represent these limits. The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX) (12 bit = [0; 4095]). | ||||
* | VideoCore: Split regs.h inclusions | Yuri Kunde Schlesner | 2017-02-09 | 1 | -1/+2 |
| | |||||
* | 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 | -9/+9 |
| | |||||
* | VideoCore: Extract swrast-specific data from OutputVertex | Yuri Kunde Schlesner | 2017-01-30 | 1 | -36/+13 |
| | |||||
* | VideoCore: Split shader output writing from semantic loading | Yuri Kunde Schlesner | 2017-01-30 | 1 | -2/+3 |
| | |||||
* | VideoCore: Consistently use shader configuration to load attributes | Yuri Kunde Schlesner | 2017-01-30 | 1 | -3/+3 |
| | |||||
* | VideoCore: Rename some types to more accurate names | Yuri Kunde Schlesner | 2017-01-30 | 1 | -2/+2 |
| | |||||
* | VideoCore/Shader: Move entry_point to SetupBatch | Yuri Kunde Schlesner | 2017-01-26 | 1 | -3/+3 |
| | |||||
* | VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup | Yuri Kunde Schlesner | 2017-01-26 | 1 | -4/+13 |
| | |||||
* | Shader: Remove OutputRegisters struct | Yuri Kunde Schlesner | 2017-01-26 | 1 | -12/+5 |
| | |||||
* | VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine | Yuri Kunde Schlesner | 2017-01-26 | 1 | -11/+0 |
| | |||||
* | VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines | Yuri Kunde Schlesner | 2017-01-26 | 1 | -4/+1 |
| | |||||
* | VideoCore/Shader: Split shader uniform state and shader engine | Yuri Kunde Schlesner | 2017-01-26 | 1 | -5/+12 |
| | | | | | 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 | -2/+2 |
| | | | | | 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 | -2/+1 |
| | |||||
* | VideoCore/Shader: Extract input vertex loading code into function | Yuri Kunde Schlesner | 2017-01-26 | 1 | -3/+9 |
| | |||||
* | VideoCore/Shader: Extract DebugData out from UnitState | Yuri Kunde Schlesner | 2016-12-16 | 1 | -4/+1 |
| | |||||
* | VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset | Yuri Kunde Schlesner | 2016-12-16 | 1 | -13/+8 |
| | |||||
* | VideoCore/Shader: Move DebugData to a separate file | Yuri Kunde Schlesner | 2016-12-16 | 1 | -172/+1 |
| | |||||
* | VideoCore: Eliminate an unnecessary copy in the drawcall loop | Yuri Kunde Schlesner | 2016-12-15 | 1 | -1/+1 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -4/+0 |
| | | | | | | | 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/+1 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -44/+48 |
| | |||||
* | Retrieve shader result from new OutputRegisters-type | Jannik Vogel | 2016-05-16 | 1 | -4/+13 |
| | |||||
* | Refactor access to state in shader-jit | Jannik Vogel | 2016-05-13 | 1 | -4/+21 |
| | |||||
* | Move program_counter and call_stack from UnitState to interpreter | Jannik Vogel | 2016-05-12 | 1 | -17/+0 |
| | |||||
* | Move default_attributes into Pica state | Jannik Vogel | 2016-05-12 | 1 | -2/+0 |
| | |||||
* | Merge pull request #1690 from JayFoxRox/tex-type-3 | bunnei | 2016-05-12 | 1 | -1/+2 |
|\ | | | | | Pica: Implement texture type 3 (Projection2D) | ||||
| * | Pica: Add tc0.w to OutputVertex | Jannik Vogel | 2016-05-11 | 1 | -1/+2 |
| | | |||||
* | | Turn ShaderSetup into struct | Jannik Vogel | 2016-05-11 | 1 | -41/+42 |
|/ | |||||
* | VideoCore: Run include-what-you-use and fix most includes. | Emmanuel Gil Peyrot | 2016-04-30 | 1 | -1/+7 |
| | |||||
* | Refactor: Extract VertexLoader from command_processor.cpp. | Henrik Rydgard | 2016-04-28 | 1 | -1/+1 |
| | | | | Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached. | ||||
* | shader: Remove unused 'state' argument from 'Setup' function. | bunnei | 2016-04-14 | 1 | -2/+1 |
| | |||||
* | Common: Get rid of alignment macros | Lioncash | 2016-03-09 | 1 | -4/+4 |
| | | | | | The gl rasterizer already uses alignas, so we may as well move everything over. | ||||
* | Add immediate mode vertex submission | Dwayne Slater | 2016-03-03 | 1 | -1/+17 |
| | |||||
* | pica: Implement decoding of basic fragment lighting components. | bunnei | 2016-02-05 | 1 | -3/+5 |
| | | | | | | | - Diffuse - Distance attenuation - float16/float20 types - Vertex Shader 'view' output | ||||
* | Shader: Fix size_t to int casts of register offsets | aroulin | 2015-09-07 | 1 | -6/+6 |
| | |||||
* | Build fix for Debug configurations. | Tony Wasserka | 2015-08-16 | 1 | -1/+1 |
| | |||||
* | Introduce a shader tracer to allow inspection of input/output values for each processed instruction. | Tony Wasserka | 2015-08-16 | 1 | -6/+189 |
| | |||||
* | Shader: Use a POD struct for registers. | bunnei | 2015-08-16 | 1 | -9/+12 |
| | |||||
* | Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders. | bunnei | 2015-08-16 | 1 | -0/+3 |
| | | | | | - Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT. | ||||
* | Shader: Define a common interface for running vertex shader programs. | bunnei | 2015-08-15 | 1 | -0/+163 |