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
10 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
10 years ago
aroulin
f52d8c1a9b
Shader JIT: Fix float to integer rounding in MOVA
MOVA converts new address register values from floats to integers using truncation
11 years ago
archshift
dd0e1061ef
Shader JIT: ifdef out reference to ifdef'd out shader_map
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.
11 years ago
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
11 years ago
Yuri Kunde Schlesner
d8ef20c856
Shader JIT: Tiny micro-optimization in DPH
11 years ago
Yuri Kunde Schlesner
630a850d4d
Shaders: Fix multiplications between 0.0 and inf
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)
11 years ago
Yuri Kunde Schlesner
082b74fa24
Shaders: Explicitly conform to PICA semantics in MAX/MIN
11 years ago
Yuri Kunde Schlesner
76247170df
Shader JIT: Add name to second scratch register (XMM4)
11 years ago
Lioncash
fa5076eb9b
shader_jit: Replace two MDisp usages with MatR
11 years ago
Yuri Kunde Schlesner
455147ee95
Shader JIT: Fix CMP NaN behavior to match hardware
11 years ago
aroulin
03c5cfead4
Shader: Use std::sqrt for float instead of sqrt
11 years ago
aroulin
fa552f11ef
Shader: RCP and RSQ computes only the 1st component
11 years ago
aroulin
2f1514b904
Shader: implement DPH/DPHI in JIT
11 years ago
aroulin
2e7cf2f6cf
Shader: implement DPH/DPHI in interpreter
Tests revealed that the component with w=1 is
SRC1 and not SRC2, it is now fixed on 3dbrew.
11 years ago
aroulin
f3e8f42718
Shader: implement SGE, SGEI and SLT in JIT
11 years ago
aroulin
863730f6a7
Shader: implement SGE, SGEI in interpreter
11 years ago
aroulin
2f9eb98f03
Shader: Save caller-saved registers in JIT before a CALL
11 years ago
aroulin
7d3a6016d6
Shader: implement EX2 and LG2 in JIT
11 years ago
aroulin
638e47c04d
Shader: implement EX2 and LG2 in interpreter
11 years ago
Tony Wasserka
96820ae42a
Build fix for Debug configurations.
11 years ago
Tony Wasserka
33ba604fd9
Introduce a shader tracer to allow inspection of input/output values for each processed instruction.
11 years ago
Tony Wasserka
4cb302c8ae
citra-qt: Improve shader debugger.
Now supports dumping the current shader and recognizes a larger number of output semantics.
11 years ago
bunnei
db97090cad
Shader: Use a POD struct for registers.
11 years ago
bunnei
b39c053785
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
11 years ago
bunnei
0ee00861f6
Common: Cleanup CPU capability detection code.
11 years ago
bunnei
a1942238f5
Common: Move cpu_detect to x64 directory.
11 years ago
bunnei
bd7e691f78
x64: Refactor to remove fake interfaces and general cleanups.
11 years ago
bunnei
cfb354f11f
JIT: Support negative address offsets.
11 years ago
bunnei
094ae6fadb
Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
11 years ago
bunnei
d67e2f78b7
Common: Added MurmurHash3 hash function for general-purpose use.
11 years ago
bunnei
3f69c2039d
Shader: Define a common interface for running vertex shader programs.
11 years ago
bunnei
18527b9e21
Shader: Move shader code to its own subdirectory, "shader".
11 years ago