Yuri Kunde Schlesner
c0959ca635
Shader JIT: Add name to second scratch register (XMM4)
11 years ago
Lioncash
33955e171b
shader_jit: Replace two MDisp usages with MatR
11 years ago
Yuri Kunde Schlesner
f02539e59d
Shader JIT: Fix CMP NaN behavior to match hardware
11 years ago
Subv
ebb0e78d80
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint.
11 years ago
aroulin
8367db5dcd
Shader: Use std::sqrt for float instead of sqrt
11 years ago
aroulin
2bcee80587
Shader: RCP and RSQ computes only the 1st component
11 years ago
aroulin
fd789c6858
Shader: implement DPH/DPHI in JIT
11 years ago
aroulin
677a97c8bf
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
Subv
c0ddc0df52
HWRasterizer: Implemented stencil ops 6 and 7.
11 years ago
Subv
aee8f01e0a
SWRasterizer: Implemented stencil ops 6 and 7.
IncrementWrap and DecrementWrap, verified with hwtests.
11 years ago
Subv
2caf213ae0
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
11 years ago
Subv
9a3d5a11f3
SWRasterizer: Implemented stencil action 1 (GL_ZERO).
Verified with hwtests.
11 years ago
Subv
cbf5ed0c78
SWRasterizer: Removed a todo. Verified with hwtests.
11 years ago
Subv
97b1a10560
SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
The HW renderer already did this.
11 years ago
Subv
be58cead12
Rasterizer: Abstract duplicated stencil code into a lambda.
11 years ago
Subv
9c8f4fdd75
GLRasterizer: Implemented stencil testing in the hw renderer.
11 years ago
Subv
7d816d5168
GPU/Rasterizer: Corrected the stencil implementation.
Verified the behavior with hardware tests.
11 years ago
aroulin
d1c8dcd844
Shader: implement SGE, SGEI and SLT in JIT
11 years ago
aroulin
76afa48b0c
Shader: implement SGE, SGEI in interpreter
11 years ago
aroulin
12e2cb045f
Shader: Save caller-saved registers in JIT before a CALL
11 years ago
aroulin
28f5cdc0dd
Shader: implement EX2 and LG2 in JIT
11 years ago
LittleWhite
a98d1fc3fa
Fix Linux GCC 4.9 build (complaining about undeclared memset)
11 years ago
aroulin
7ca01b779f
Shader: implement EX2 and LG2 in interpreter
11 years ago
Tony Wasserka
ca1fea38dc
Build fix for Debug configurations.
11 years ago
Tony Wasserka
1c1a9ab09b
Introduce a shader tracer to allow inspection of input/output values for each processed instruction.
11 years ago
Tony Wasserka
9a1820ea61
Pica/DebugUtils: Include uniform information into shader dumps.
11 years ago
Tony Wasserka
41dda548cd
citra-qt: Improve shader debugger.
Now supports dumping the current shader and recognizes a larger number of output semantics.
11 years ago
Patrick Martin
78b1877f9e
videocore: Added RG8 texture support
11 years ago
bunnei
5c7e9ffce7
Shader: Use a POD struct for registers.
11 years ago
bunnei
4ffc095fa3
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
11 years ago
bunnei
e019e69016
Common: Cleanup CPU capability detection code.
11 years ago
bunnei
15e9a59ad0
Common: Move cpu_detect to x64 directory.
11 years ago
bunnei
f9e3228caa
x64: Refactor to remove fake interfaces and general cleanups.
11 years ago
bunnei
fe33a705de
JIT: Support negative address offsets.
11 years ago
bunnei
c03924e60e
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
be08c22685
Common: Added MurmurHash3 hash function for general-purpose use.
11 years ago
bunnei
5794310781
Shader: Define a common interface for running vertex shader programs.
11 years ago
bunnei
2d100ebae3
Shader: Move shader code to its own subdirectory, "shader".
11 years ago
bunnei
f622a78544
GPU: Refactor "VertexShader" namespace to "Shader".
- Also renames "vertex_shader.*" to "shader_interpreter.*"
11 years ago
Emmanuel Gil Peyrot
fe83e1f777
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
11 years ago
Yuri Kunde Schlesner
fe3a7af354
OpenGL: Fix state tracking in situations with reused object handles
If an OpenGL object is created, bound to a binding using the state
tracker, and then destroyed, a newly created object can be assigned the
same numeric handle by OpenGL. However, even though it is a new object,
and thus needs to be bound to the binding again, the state tracker
compared the current and previous handles and concluded that no change
needed to be made, leading to failure to bind objects in certain cases.
This manifested as broken text in VVVVVV, which this commit fixes along
with similar texturing problems in other games.
11 years ago
Yuri Kunde Schlesner
60df1c9b2b
OpenGL: Remove redundant texture.enable_2d field from OpenGLState
All uses of this field where it's false can just set the texture id to 0
instead.
11 years ago
Yuri Kunde Schlesner
a96502edd3
Videocore: Implement simple vertex caching
This gives a ~2/3 reduction in the amount of vertices that need to be
processed through the vertex loaders and the vertex shader, yielding a
good speedup.
11 years ago
Yuri Kunde Schlesner
428154da45
OpenGL: Add a profiler category measuring framebuffer readback
11 years ago
Lectem
facb2555a9
citra-qt/debug_utils: Use lock_guard everywhere
unique_lock were being used as lock_guards.
Also replaced manual lock/unlock by lock_guard for harmonization.
11 years ago
Lectem
e663751f8b
citra-qt/command list: Add mask column
11 years ago
Yuri Kunde Schlesner
1762267de4
OpenGL: Make OpenGL object resource wrappers fully inline
The functions are so simple that having them separate only bloats the
code and hinders optimization.
11 years ago
Yuri Kunde Schlesner
e130dac7de
Videocore: Don't reinitialize register name map on every query
This greatly speeds up the command list debug widget.
11 years ago
Yuri Kunde Schlesner
4909a1486e
Videocore: Simplify variables in vertex shader interpreter
Simplifies the code and gives a tiny speed-up.
11 years ago
Yuri Kunde Schlesner
877d2a0e48
Videocore: Replace std::stack in shader interpreter with static_vector
Shaves off 1/3rd of the vertex shader time in Fire Emblem
11 years ago