Yuri Kunde Schlesner
960578f4e1
VideoCore/Shader: Extract call lambda up a scope and remove unused param
9 years ago
Yuri Kunde Schlesner
e4e962bc7c
VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset
9 years ago
Yuri Kunde Schlesner
d27cb1dedc
VideoCore/Shader: Move DebugData to a separate file
9 years ago
Yuri Kunde Schlesner
fb9e856b91
shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing
9 years ago
Yuri Kunde Schlesner
f00ada3363
VideoCore: Eliminate an unnecessary copy in the drawcall loop
9 years ago
Yuri Kunde Schlesner
5ff3206207
shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts
9 years ago
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
9 years ago
Jannik Vogel
2d8097eecc
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
9 years ago
Jannik Vogel
e2cb7d7833
shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted
9 years ago
Yuri Kunde Schlesner
d9a904f9cb
VideoCore: Shader interpreter cleanups
9 years ago
Yuri Kunde Schlesner
26b68313b9
VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfo
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.
9 years ago
Yuri Kunde Schlesner
f120e78b56
Remove special rules for Windows.h and library includes
9 years ago
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
9 years ago
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
9 years ago
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
9 years ago
Yuri Kunde Schlesner
a3afeb4687
VideoCore: Fix dangling lambda context in shader interpreter
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.
9 years ago
Jannik Vogel
ff0fa86b17
Retrieve shader result from new OutputRegisters-type
10 years ago
Jannik Vogel
1308afe2c2
Use new shader-jit signature for interpreter
10 years ago
Jannik Vogel
4e01e9ffc5
Refactor access to state in shader-jit
10 years ago
Jannik Vogel
7e756faaba
Move program_counter and call_stack from UnitState to interpreter
10 years ago
Jannik Vogel
6c6d99ca51
Move default_attributes into Pica state
10 years ago
Jannik Vogel
ae7a82fa1c
Turn ShaderSetup into struct
10 years ago
Jannik Vogel
2f8e8e1455
Pica: Add tc0.w to OutputVertex
10 years ago
Jannik Vogel
696cb197a5
Pica: Replace logic in shader.cpp with loop
10 years ago
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
10 years ago
Yuri Kunde Schlesner
e3a8292495
Common: Remove section measurement from profiler ( #1731 )
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.
10 years ago
Henrik Rydgard
47ff008817
Refactor: Extract VertexLoader from command_processor.cpp.
Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
10 years ago
Sam Spilsbury
656a442433
shader: Shader size is long uint, not uint.
10 years ago
Sam Spilsbury
c6709d97bc
shader: Handle non-CALL opcodes with a break
10 years ago
Sam Spilsbury
bbffa6ad69
shader: Format string must be provided inline and not as a variable
10 years ago
bunnei
d7fe2784cc
shader_jit_x64: Rename RuntimeAssert to Compile_Assert.
10 years ago
bunnei
3f623b2561
shader_jit_x64.cpp: Rename JitCompiler to JitShader.
10 years ago
bunnei
847fb951e2
shader_jit_x64: Free memory that's no longer needed after compilation.
10 years ago
bunnei
60aa72e117
shader_jit_x64: Use a sorted vector instead of a set for keeping track of return addresses.
10 years ago
bunnei
60749f2cda
shader_jit_x64: Use CALL/RET instead of JMP for subroutines.
10 years ago
bunnei
1d45b57939
shader_jit_x64: Separate initialization and code generation for readability.
10 years ago
bunnei
6e0319eec9
shader_jit_x64: Get rid of unnecessary last_program_counter variable.
10 years ago
bunnei
f3afe24594
shader_jit_x64: Execute certain asserts at runtime.
- This is because we compile the full shader code space, and therefore its common to compile malformed instructions.
10 years ago
bunnei
ffcf7ecee9
shader: Remove unused 'state' argument from 'Setup' function.
10 years ago
bunnei
a5a74eb121
shader_jit_x64: Specify shader main offset at runtime.
10 years ago
bunnei
c9d10de644
shader_jit_x64: Allocate each program independently and persist for emu session.
10 years ago
bunnei
4632791a40
shader_jit_x64: Rewrite flow control to support arbitrary CALL and JMP instructions.
10 years ago
bunnei
135aec7bea
shader_jit_x64: Fix strict memory aliasing issues.
10 years ago
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
10 years ago
Lioncash
63e956cc7a
video_core: Don't cast away const
10 years ago
Lioncash
4d89df8df2
shader_interpreter: use std::inner_product for the dot product
Same thing, less code.
10 years ago
Jannik Vogel
9aad2f29bb
PICA: Fix MAD/MADI encoding
10 years ago
Jannik Vogel
f746a00964
Respect vs output map
10 years ago
bunnei
6efb710b28
shader_jit_x64: Clear cache after code space fills up.
10 years ago