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
bunnei
c103759cdc
shader_jit_x64: Make assert outputs more useful & cleanup formatting.
10 years ago
bunnei
46f78b7f19
shader: Update log message to use proper log class.
10 years ago
Lioncash
88d604383e
Common: Get rid of alignment macros
The gl rasterizer already uses alignas,
so we may as well move everything over.
10 years ago
Dwayne Slater
6b775034dd
Add immediate mode vertex submission
10 years ago
bunnei
b003075570
pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
10 years ago
Yuri Kunde Schlesner
083d2d89a5
Shader: Implement "invert condition" feature of IFU instruction
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.
10 years ago
Yuri Kunde Schlesner
c1071c1ff7
Shader JIT: Fix off-by-one error when compiling JMPs
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.
10 years ago
Lioncash
aec28ed91e
video_core: Reorganize headers
10 years ago
Lioncash
1fa772393b
video_core: Remove unnecessary includes from headers
10 years ago
Lioncash
526eb33d1e
video_core: Remove unused variables
10 years ago
aroulin
1484a23530
Shader JIT: Use SCALE constant from emitter
10 years ago
aroulin
87e3b9ffc0
Shader: Fix size_t to int casts of register offsets
10 years ago
aroulin
ba998b85a1
video_core: Fix format specifiers warnings
11 years ago
aroulin
179ad35c2e
x64: Proper stack alignment in shader JIT function calls
Import Dolphin stack handling and register saving routines
Also removes the x86 parts from abi files
11 years ago
aroulin
84959be150
Shader JIT: Fix SGE/SGEI NaN behavior
SGE was incorrectly emulated w.r.t. NaN behavior as the CMPSS SSE
instruction was used with NLT
11 years ago