| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-09-17 | Improved performance of FromAttributeBuffer | Huw Pascoe | |
| 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. | |||
| 2017-08-19 | pica/shader/jit: implement SETEMIT and EMIT | wwylele | |
| 2017-08-19 | correct constness | wwylele | |
| 2017-08-19 | pica/shader/interpreter: implement SETEMIT and EMIT | wwylele | |
| 2017-08-19 | pica/shader: extend UnitState for GS | wwylele | |
| 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 | |||
| 2017-07-27 | pica/shader_interpreter: fix off-by-one in LOOP | wwylele | |
| 2017-06-17 | Stop using reserved operator names (and/or/xor) with Xbyak | Yuri Kunde Schlesner | |
| Also has the Dynarmic upgrade with the same change | |||
| 2017-05-11 | Pica: Set program code / swizzle data limit to 4096 | Jannik Vogel | |
| 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]). | |||
| 2017-02-26 | Doxygen: Amend minor issues (#2593) | Mat M | |
| Corrects a few issues with regards to Doxygen documentation, for example: - Incorrect parameter referencing. - Missing @param tags. - Typos in @param tags. and a few minor other issues. | |||
| 2017-02-12 | video_core/shader: Document sanitized MUL operation | Yuri Kunde Schlesner | |
| 2017-02-12 | Merge pull request #2550 from yuriks/pica-refactor2 | Yuri Kunde Schlesner | |
| Small VideoCore cleanups | |||
| 2017-02-10 | video_core: Fix benign out-of-bounds indexing of array (#2553) | Yuri Kunde Schlesner | |
| 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 | |||
| 2017-02-09 | VideoCore: Split regs.h inclusions | Yuri Kunde Schlesner | |
| 2017-02-04 | VideoCore: Move Regs to its own file | Yuri Kunde Schlesner | |
| 2017-02-04 | VideoCore: Split shader regs from Regs struct | Yuri Kunde Schlesner | |
| 2017-02-04 | VideoCore: Split rasterizer regs from Regs struct | Yuri Kunde Schlesner | |
| 2017-02-04 | Merge pull request #2476 from yuriks/shader-refactor3 | Yuri Kunde Schlesner | |
| Oh No! More shader changes! | |||
| 2017-02-03 | ShaderJIT: add 16 dummy bytes at the bottom of the stack | wwylele | |
| 2017-01-31 | Common/x64: remove legacy emitter and abi (#2504) | Weiyi Wang | |
| These are not used any more since we moved shader JIT to xbyak. | |||
| 2017-01-31 | shader_jit_x64_compiler: esi and edi should be persistent (#2500) | Merry | |
| 2017-01-29 | VideoCore: Extract swrast-specific data from OutputVertex | Yuri Kunde Schlesner | |
| 2017-01-29 | VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer | Yuri Kunde Schlesner | |
| 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. | |||
| 2017-01-29 | VideoCore: Split shader output writing from semantic loading | Yuri Kunde Schlesner | |
| 2017-01-29 | VideoCore: Consistently use shader configuration to load attributes | Yuri Kunde Schlesner | |
| 2017-01-29 | VideoCore: Rename some types to more accurate names | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Move entry_point to SetupBatch | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup | Yuri Kunde Schlesner | |
| 2017-01-25 | Shader: Remove OutputRegisters struct | Yuri Kunde Schlesner | |
| 2017-01-25 | Shader: Initialize conditional_code in interpreter | Yuri Kunde Schlesner | |
| 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. | |||
| 2017-01-25 | Shader: Don't read ShaderSetup from global state | Yuri Kunde Schlesner | |
| 2017-01-25 | shader_jit_x64: Don't read program from global state | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h} | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Split shader uniform state and shader engine | Yuri Kunde Schlesner | |
| Currently there's only a single dummy implementation, which will be split in a following commit. | |||
| 2017-01-25 | VideoCore/Shader: Add constness to methods | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Use only entry_point as ShaderSetup param | Yuri Kunde Schlesner | |
| This removes all implicit dependency of ShaderState on global PICA state. | |||
| 2017-01-25 | VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup | Yuri Kunde Schlesner | |
| 2017-01-25 | VideoCore/Shader: Extract input vertex loading code into function | Yuri Kunde Schlesner | |
| 2017-01-23 | video_core: fix shader.cpp signed / unsigned warning | Kloen | |
| 2017-01-04 | Fix some warnings (#2399) | Jonathan Hao | |
| 2016-12-16 | VideoCore/Shader: Extract DebugData out from UnitState | Yuri Kunde Schlesner | |
| 2016-12-16 | Remove unnecessary cast | Yuri Kunde Schlesner | |
| 2016-12-16 | VideoCore/Shader: Extract evaluate_condition lambda to function scope | Yuri Kunde Schlesner | |
| 2016-12-15 | VideoCore/Shader: Extract call lambda up a scope and remove unused param | Yuri Kunde Schlesner | |
| 2016-12-15 | VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset | Yuri Kunde Schlesner | |
| 2016-12-15 | VideoCore/Shader: Move DebugData to a separate file | Yuri Kunde Schlesner | |
| 2016-12-15 | shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing | Yuri Kunde Schlesner | |
| 2016-12-14 | VideoCore: Eliminate an unnecessary copy in the drawcall loop | Yuri Kunde Schlesner | |
| 2016-12-14 | shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts | Yuri Kunde Schlesner | |
