aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader
AgeCommit message (Collapse)Author
2016-12-16VideoCore/Shader: Extract DebugData out from UnitStateYuri Kunde Schlesner
2016-12-16Remove unnecessary castYuri Kunde Schlesner
2016-12-16VideoCore/Shader: Extract evaluate_condition lambda to function scopeYuri Kunde Schlesner
2016-12-15VideoCore/Shader: Extract call lambda up a scope and remove unused paramYuri Kunde Schlesner
2016-12-15VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffsetYuri Kunde Schlesner
2016-12-15VideoCore/Shader: Move DebugData to a separate fileYuri Kunde Schlesner
2016-12-15shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexingYuri Kunde Schlesner
2016-12-14VideoCore: Eliminate an unnecessary copy in the drawcall loopYuri Kunde Schlesner
2016-12-14shader_jit_x64: Use Reg32 for LOOP* registers, eliminating castsYuri Kunde Schlesner
2016-12-14VideoCore: Convert x64 shader JIT to use Xbyak for assemblyYuri Kunde Schlesner
2016-12-04shader_jit: Fix non-SSE4.1 path where FLR would not truncateJannik Vogel
2016-12-02shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shiftedJannik Vogel
2016-09-29VideoCore: Shader interpreter cleanupsYuri Kunde Schlesner
2016-09-29VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfoYuri Kunde Schlesner
As far as I can tell, memset was replaced by a fill without correcting the parameter type, causing an out-of-bounds array read in the Vec4 constructor.
2016-09-21Remove special rules for Windows.h and library includesYuri Kunde Schlesner
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-09-15VideoCore: Fix dangling lambda context in shader interpreterYuri Kunde Schlesner
The static meant that after the first execution, these lambda context would be pointing to a random location on the stack. Fixes a random crash when using the interpreter.
2016-05-16Retrieve shader result from new OutputRegisters-typeJannik Vogel
2016-05-13Use new shader-jit signature for interpreterJannik Vogel
2016-05-13Refactor access to state in shader-jitJannik Vogel
2016-05-12Move program_counter and call_stack from UnitState to interpreterJannik Vogel
2016-05-12Move default_attributes into Pica stateJannik Vogel
2016-05-11Merge pull request #1690 from JayFoxRox/tex-type-3bunnei
Pica: Implement texture type 3 (Projection2D)
2016-05-11Turn ShaderSetup into structJannik Vogel
2016-05-11Pica: Add tc0.w to OutputVertexJannik Vogel
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