aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader
AgeCommit message (Collapse)Author
2016-04-13shader_jit_x64: Allocate each program independently and persist for emu session.bunnei
2016-04-13shader_jit_x64: Rewrite flow control to support arbitrary CALL and JMP ↵bunnei
instructions.
2016-04-13shader_jit_x64: Fix strict memory aliasing issues.bunnei
2016-04-05Merge pull request #1643 from MerryMage/make_uniqueMathew Maidment
Common: Remove Common::make_unique, use std::make_unique
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage
2016-03-22Merge pull request #1508 from JayFoxRox/vs-output-mapbunnei
Respect vs output map
2016-03-20Merge pull request #1538 from lioncash/dotbunnei
shader_interpreter: use std::inner_product for the dot product
2016-03-17video_core: Don't cast away constLioncash
2016-03-17shader_interpreter: use std::inner_product for the dot productLioncash
Same thing, less code.
2016-03-16Merge pull request #1503 from bunnei/clear-jit-cachebunnei
Clear JIT cache
2016-03-15PICA: Fix MAD/MADI encodingJannik Vogel
2016-03-14Respect vs output mapJannik Vogel
2016-03-12shader_jit_x64: Clear cache after code space fills up.bunnei
2016-03-12shader_jit_x64: Make assert outputs more useful & cleanup formatting.bunnei
2016-03-12shader: Update log message to use proper log class.bunnei
2016-03-09Common: Get rid of alignment macrosLioncash
The gl rasterizer already uses alignas, so we may as well move everything over.
2016-03-02Add immediate mode vertex submissionDwayne Slater
2016-02-05pica: Implement decoding of basic fragment lighting components.bunnei
- Diffuse - Distance attenuation - float16/float20 types - Vertex Shader 'view' output
2016-01-27Merge pull request #1367 from yuriks/jit-jmpbunnei
Shader JIT: Fix off-by-one error when compiling JMPs
2016-01-24Shader: Implement "invert condition" feature of IFU instructionYuri Kunde Schlesner
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.
2016-01-24Shader JIT: Fix off-by-one error when compiling JMPsYuri Kunde Schlesner
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.
2015-09-11video_core: Reorganize headersLioncash
2015-09-11video_core: Remove unnecessary includes from headersLioncash
2015-09-10video_core: Remove unused variablesLioncash
2015-09-07Shader JIT: Use SCALE constant from emitteraroulin
2015-09-07Shader: Fix size_t to int casts of register offsetsaroulin
2015-09-02Merge pull request #1088 from aroulin/x64-emitter-abi-callbunnei
x64: Proper stack alignment in shader JIT function calls
2015-09-02video_core: Fix format specifiers warningsaroulin
2015-09-01x64: Proper stack alignment in shader JIT function callsaroulin
Import Dolphin stack handling and register saving routines Also removes the x86 parts from abi files
2015-08-31Shader JIT: Fix SGE/SGEI NaN behavioraroulin
SGE was incorrectly emulated w.r.t. NaN behavior as the CMPSS SSE instruction was used with NLT
2015-08-27Merge pull request #1065 from yuriks/shader-fpYuri Kunde Schlesner
Shader FP compliance fixes
2015-08-27Shader JIT: Fix float to integer rounding in MOVAaroulin
MOVA converts new address register values from floats to integers using truncation
2015-08-26Shader JIT: ifdef out reference to ifdef'd out shader_maparchshift
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.
2015-08-24Integrate the MicroProfile profiling libraryYuri Kunde Schlesner
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-24Shader JIT: Tiny micro-optimization in DPHYuri Kunde Schlesner
2015-08-24Shaders: Fix multiplications between 0.0 and infYuri Kunde Schlesner
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)
2015-08-24Shaders: Explicitly conform to PICA semantics in MAX/MINYuri Kunde Schlesner
2015-08-24Shader JIT: Add name to second scratch register (XMM4)Yuri Kunde Schlesner
2015-08-24shader_jit: Replace two MDisp usages with MatRLioncash
2015-08-24Shader JIT: Fix CMP NaN behavior to match hardwareYuri Kunde Schlesner
2015-08-23Merge pull request #1062 from aroulin/shader-rcp-rsqbunnei
Shader: RCP and RSQ computes only the 1st component
2015-08-23Shader: Use std::sqrt for float instead of sqrtaroulin
2015-08-23Shader: RCP and RSQ computes only the 1st componentaroulin
2015-08-22Shader: implement DPH/DPHI in JITaroulin
2015-08-22Shader: implement DPH/DPHI in interpreteraroulin
Tests revealed that the component with w=1 is SRC1 and not SRC2, it is now fixed on 3dbrew.
2015-08-19Shader: implement SGE, SGEI and SLT in JITaroulin
2015-08-19Shader: implement SGE, SGEI in interpreteraroulin
2015-08-19Shader: Save caller-saved registers in JIT before a CALLaroulin
2015-08-17Shader: implement EX2 and LG2 in JITaroulin
2015-08-16Shader: implement EX2 and LG2 in interpreteraroulin