Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine | Yuri Kunde Schlesner | 2017-01-26 | 1 | -5/+0 |
| | |||||
* | VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines | Yuri Kunde Schlesner | 2017-01-26 | 1 | -0/+56 |
| | |||||
* | VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h} | Yuri Kunde Schlesner | 2017-01-26 | 1 | -888/+0 |
| | |||||
* | VideoCore/Shader: Extract DebugData out from UnitState | Yuri Kunde Schlesner | 2016-12-16 | 1 | -2/+2 |
| | |||||
* | Remove unnecessary cast | Yuri Kunde Schlesner | 2016-12-16 | 1 | -3/+1 |
| | |||||
* | VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset | Yuri Kunde Schlesner | 2016-12-16 | 1 | -5/+3 |
| | |||||
* | shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing | Yuri Kunde Schlesner | 2016-12-15 | 1 | -1/+1 |
| | |||||
* | shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts | Yuri Kunde Schlesner | 2016-12-15 | 1 | -16/+16 |
| | |||||
* | VideoCore: Convert x64 shader JIT to use Xbyak for assembly | Yuri Kunde Schlesner | 2016-12-15 | 1 | -214/+218 |
| | |||||
* | shader_jit: Fix non-SSE4.1 path where FLR would not truncate | Jannik Vogel | 2016-12-04 | 1 | -1/+1 |
| | |||||
* | shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted | Jannik Vogel | 2016-12-02 | 1 | -6/+9 |
| | |||||
* | Remove special rules for Windows.h and library includes | Yuri Kunde Schlesner | 2016-09-21 | 1 | -1/+1 |
| | |||||
* | 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 | -5/+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/+1 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -99/+113 |
| | |||||
* | Refactor access to state in shader-jit | Jannik Vogel | 2016-05-13 | 1 | -16/+16 |
| | |||||
* | VideoCore: Run include-what-you-use and fix most includes. | Emmanuel Gil Peyrot | 2016-04-30 | 1 | -1/+9 |
| | |||||
* | shader: Shader size is long uint, not uint. | Sam Spilsbury | 2016-04-24 | 1 | -1/+1 |
| | |||||
* | shader: Handle non-CALL opcodes with a break | Sam Spilsbury | 2016-04-24 | 1 | -0/+2 |
| | |||||
* | shader: Format string must be provided inline and not as a variable | Sam Spilsbury | 2016-04-24 | 1 | -1/+1 |
| | |||||
* | shader_jit_x64: Rename RuntimeAssert to Compile_Assert. | bunnei | 2016-04-14 | 1 | -4/+4 |
| | |||||
* | shader_jit_x64.cpp: Rename JitCompiler to JitShader. | bunnei | 2016-04-14 | 1 | -87/+87 |
| | |||||
* | shader_jit_x64: Free memory that's no longer needed after compilation. | bunnei | 2016-04-14 | 1 | -0/+6 |
| | |||||
* | shader_jit_x64: Use a sorted vector instead of a set for keeping track of return addresses. | bunnei | 2016-04-14 | 1 | -3/+6 |
| | |||||
* | shader_jit_x64: Use CALL/RET instead of JMP for subroutines. | bunnei | 2016-04-14 | 1 | -17/+7 |
| | |||||
* | shader_jit_x64: Separate initialization and code generation for readability. | bunnei | 2016-04-14 | 1 | -9/+8 |
| | |||||
* | shader_jit_x64: Get rid of unnecessary last_program_counter variable. | bunnei | 2016-04-14 | 1 | -5/+2 |
| | |||||
* | shader_jit_x64: Execute certain asserts at runtime. | bunnei | 2016-04-14 | 1 | -5/+13 |
| | | | | - This is because we compile the full shader code space, and therefore its common to compile malformed instructions. | ||||
* | shader_jit_x64: Specify shader main offset at runtime. | bunnei | 2016-04-14 | 1 | -3/+1 |
| | |||||
* | shader_jit_x64: Allocate each program independently and persist for emu session. | bunnei | 2016-04-14 | 1 | -9/+8 |
| | |||||
* | shader_jit_x64: Rewrite flow control to support arbitrary CALL and JMP instructions. | bunnei | 2016-04-14 | 1 | -30/+92 |
| | |||||
* | shader_jit_x64: Fix strict memory aliasing issues. | bunnei | 2016-04-14 | 1 | -1/+3 |
| | |||||
* | Merge pull request #1503 from bunnei/clear-jit-cache | bunnei | 2016-03-16 | 1 | -5/+8 |
|\ | | | | | Clear JIT cache | ||||
| * | shader_jit_x64: Clear cache after code space fills up. | bunnei | 2016-03-12 | 1 | -1/+1 |
| | | |||||
| * | shader_jit_x64: Make assert outputs more useful & cleanup formatting. | bunnei | 2016-03-12 | 1 | -4/+7 |
| | | |||||
* | | PICA: Fix MAD/MADI encoding | Jannik Vogel | 2016-03-15 | 1 | -27/+28 |
|/ | |||||
* | Add immediate mode vertex submission | Dwayne Slater | 2016-03-03 | 1 | -0/+2 |
| | |||||
* | Merge pull request #1367 from yuriks/jit-jmp | bunnei | 2016-01-27 | 1 | -5/+5 |
|\ | | | | | Shader JIT: Fix off-by-one error when compiling JMPs | ||||
| * | Shader JIT: Fix off-by-one error when compiling JMPs | Yuri Kunde Schlesner | 2016-01-24 | 1 | -5/+5 |
| | | | | | | | | | | | | | | There was a mistake in the JMP code which meant that one instruction at the destination would be skipped when the jump was taken. This commit also changes the meaning of the culprit parameter to make it less confusing and avoid similar mistakes in the future. | ||||
* | | Shader: Implement "invert condition" feature of IFU instruction | Yuri Kunde Schlesner | 2016-01-25 | 1 | -1/+3 |
|/ | | | | | | If the bit 0 of the JMPU instruction is set, then the jump condition will be inverted. That is, a jump will happen when the boolean is false instead of when it is true. | ||||
* | video_core: Remove unused variables | Lioncash | 2015-09-10 | 1 | -1/+0 |
| | |||||
* | Shader JIT: Use SCALE constant from emitter | aroulin | 2015-09-07 | 1 | -4/+4 |
| | |||||
* | Shader: Fix size_t to int casts of register offsets | aroulin | 2015-09-07 | 1 | -9/+15 |
| | |||||
* | Merge pull request #1088 from aroulin/x64-emitter-abi-call | bunnei | 2015-09-02 | 1 | -26/+17 |
|\ | | | | | x64: Proper stack alignment in shader JIT function calls | ||||
| * | x64: Proper stack alignment in shader JIT function calls | aroulin | 2015-09-01 | 1 | -26/+17 |
| | | | | | | | | | | Import Dolphin stack handling and register saving routines Also removes the x86 parts from abi files | ||||
* | | video_core: Fix format specifiers warnings | aroulin | 2015-09-02 | 1 | -1/+2 |
|/ | |||||
* | Shader JIT: Fix SGE/SGEI NaN behavior | aroulin | 2015-08-31 | 1 | -3/+3 |
| | | | | | SGE was incorrectly emulated w.r.t. NaN behavior as the CMPSS SSE instruction was used with NLT | ||||
* | Merge pull request #1065 from yuriks/shader-fp | Yuri Kunde Schlesner | 2015-08-28 | 1 | -54/+73 |
|\ | | | | | Shader FP compliance fixes | ||||
| * | Shader JIT: Tiny micro-optimization in DPH | Yuri Kunde Schlesner | 2015-08-24 | 1 | -4/+4 |
| | | |||||
| * | Shaders: Fix multiplications between 0.0 and inf | Yuri Kunde Schlesner | 2015-08-24 | 1 | -39/+39 |
| | | | | | | | | | | | | | | | | The PICA200 semantics for multiplication are so that when multiplying inf by exactly 0.0, the result is 0.0, instead of NaN, as defined by IEEE. This is relied upon by games. Fixes #1024 (missing OoT interface items) | ||||
| * | Shaders: Explicitly conform to PICA semantics in MAX/MIN | Yuri Kunde Schlesner | 2015-08-24 | 1 | -0/+2 |
| | | |||||
| * | Shader JIT: Add name to second scratch register (XMM4) | Yuri Kunde Schlesner | 2015-08-24 | 1 | -3/+5 |
| | | |||||
| * | Shader JIT: Fix CMP NaN behavior to match hardware | Yuri Kunde Schlesner | 2015-08-24 | 1 | -8/+23 |
| | | |||||
* | | Shader JIT: Fix float to integer rounding in MOVA | aroulin | 2015-08-27 | 1 | -2/+2 |
| | | | | | | | | MOVA converts new address register values from floats to integers using truncation | ||||
* | | shader_jit: Replace two MDisp usages with MatR | Lioncash | 2015-08-24 | 1 | -2/+2 |
|/ | |||||
* | Merge pull request #1062 from aroulin/shader-rcp-rsq | bunnei | 2015-08-23 | 1 | -4/+6 |
|\ | | | | | Shader: RCP and RSQ computes only the 1st component | ||||
| * | Shader: RCP and RSQ computes only the 1st component | aroulin | 2015-08-23 | 1 | -4/+6 |
| | | |||||
* | | Shader: implement DPH/DPHI in JIT | aroulin | 2015-08-22 | 1 | -2/+35 |
|/ | |||||
* | Shader: implement SGE, SGEI and SLT in JIT | aroulin | 2015-08-19 | 1 | -14/+34 |
| | |||||
* | Shader: Save caller-saved registers in JIT before a CALL | aroulin | 2015-08-19 | 1 | -0/+30 |
| | |||||
* | Shader: implement EX2 and LG2 in JIT | aroulin | 2015-08-17 | 1 | -2/+20 |
| | |||||
* | Introduce a shader tracer to allow inspection of input/output values for each processed instruction. | Tony Wasserka | 2015-08-16 | 1 | -4/+4 |
| | |||||
* | Shader: Use a POD struct for registers. | bunnei | 2015-08-16 | 1 | -6/+6 |
| | |||||
* | Common: Cleanup CPU capability detection code. | bunnei | 2015-08-16 | 1 | -5/+5 |
| | |||||
* | Common: Move cpu_detect to x64 directory. | bunnei | 2015-08-16 | 1 | -2/+1 |
| | |||||
* | x64: Refactor to remove fake interfaces and general cleanups. | bunnei | 2015-08-16 | 1 | -6/+14 |
| | |||||
* | JIT: Support negative address offsets. | bunnei | 2015-08-16 | 1 | -26/+25 |
| | |||||
* | Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders. | bunnei | 2015-08-16 | 1 | -0/+669 |
- Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT. |