aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader
AgeCommit message (Collapse)Author
2016-05-03Pica: Replace logic in shader.cpp with loopJannik Vogel
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot
2016-04-29Merge pull request #1730 from hrydgard/vertex-loaderbunnei
* Remove late accesses to attribute_config * Refactor: Extract VertexLoader from command_processor.cpp. Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached. * Move "&" to their proper place, add missing includes and make some properly relative. * Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached). * Optimize the vertex loader, nearly doubling its speed. * Debugger fix * Move and rename the MemoryAccesses class to MemoryAccessTracker.
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner
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.
2016-04-28Refactor: Extract VertexLoader from command_processor.cpp.Henrik Rydgard
Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
2016-04-25shader: Shader size is long uint, not uint.Sam Spilsbury
2016-04-25shader: Handle non-CALL opcodes with a breakSam Spilsbury
2016-04-24shader: Format string must be provided inline and not as a variableSam Spilsbury
2016-04-13shader_jit_x64: Rename RuntimeAssert to Compile_Assert.bunnei
2016-04-13shader_jit_x64.cpp: Rename JitCompiler to JitShader.bunnei
2016-04-13shader_jit_x64: Free memory that's no longer needed after compilation.bunnei
2016-04-13shader_jit_x64: Use a sorted vector instead of a set for keeping track of ↵bunnei
return addresses.
2016-04-13shader_jit_x64: Use CALL/RET instead of JMP for subroutines.bunnei
2016-04-13shader_jit_x64: Separate initialization and code generation for readability.bunnei
2016-04-13shader_jit_x64: Get rid of unnecessary last_program_counter variable.bunnei
2016-04-13shader_jit_x64: Execute certain asserts at runtime.bunnei
- This is because we compile the full shader code space, and therefore its common to compile malformed instructions.
2016-04-13shader: Remove unused 'state' argument from 'Setup' function.bunnei
2016-04-13shader_jit_x64: Specify shader main offset at runtime.bunnei
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