Yuri Kunde Schlesner
b044c047c4
OpenGL: Use Sampler Objects to decouple sampler config from textures
Fixes #978
10 years ago
Yuri Kunde Schlesner
466e608c19
OpenGL: Remove ugly and endian-unsafe color pointer casts
10 years ago
Yuri Kunde Schlesner
ec28f037e6
OpenGL: Add support for Sampler Objects to state tracker
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
10 years ago
Subv
58a04c0776
Pica: Added the primitive_restart register (0x25f) to the registers map.
10 years ago
Subv
149ea561a6
Pica: Add the vertex_offset register to the Pica registers map.
10 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
Subv
12a11472f1
GPU: Implemented register 0x22A.
This is the equivalent of the "first" parameter in glDrawArrays, it tells the GPU the vertex index at which to start rendering.
Register 0x22A doesn't affect indexed rendering.
11 years ago
Yuri Kunde Schlesner
a1a5570e97
Replace the previous OpenGL loader with a glad-generated 3.3 one
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
10 years ago
bunnei
f3cef178e3
gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.
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
10 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.
10 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
Subv
583d777b1a
HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
Reported here https://communities.intel.com/message/324464
11 years ago
Yuri Kunde Schlesner
eff10959de
fixup! Shaders: Fix multiplications between 0.0 and inf
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
Subv
d1b9383d86
HWRenderer: Only reload the framebuffer from gpu memory if the hw renderer is in use during a breakpoint.
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
Subv
0c7da9b815
HWRasterizer: Implemented stencil ops 6 and 7.
11 years ago
Subv
7c1f84a92b
SWRasterizer: Implemented stencil ops 6 and 7.
IncrementWrap and DecrementWrap, verified with hwtests.
11 years ago
Subv
e43eb130d4
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
11 years ago
Subv
fef1462371
SWRasterizer: Implemented stencil action 1 (GL_ZERO).
Verified with hwtests.
11 years ago
Subv
b3e530d005
SWRasterizer: Removed a todo. Verified with hwtests.
11 years ago
Subv
8e6336d96b
SWRenderer: The stencil depth_pass action is executed even if depth testing is disabled.
The HW renderer already did this.
11 years ago
Subv
e74825e3d0
Rasterizer: Abstract duplicated stencil code into a lambda.
11 years ago
Subv
46f660a789
GLRasterizer: Implemented stencil testing in the hw renderer.
11 years ago
Subv
186873420f
GPU/Rasterizer: Corrected the stencil implementation.
Verified the behavior with hardware tests.
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
LittleWhite
9d6748fa94
Fix Linux GCC 4.9 build (complaining about undeclared memset)
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
2e3601f415
Pica/DebugUtils: Include uniform information into shader dumps.
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
Patrick Martin
5b65d95310
videocore: Added RG8 texture support
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