ReinUsesLisp
477d616f7d
shader_ir: Unify constant buffer offset values
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
7 years ago
ReinUsesLisp
3b84e04af1
shader_decode: Implement LDG and basic cbuf tracking
7 years ago
ReinUsesLisp
9a82dec74a
maxwell_3d: Set rt_separate_frag_data to 1 by default
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
7 years ago
ReinUsesLisp
a1b845b651
shader_decode: Implement VMAD and VSETP
7 years ago
ReinUsesLisp
dd91650aaf
shader_decode: Implement HFMA2
7 years ago
ReinUsesLisp
4316eaf75c
shader_decode: Fixup clang-format
7 years ago
ReinUsesLisp
15a0e1481d
shader_ir: Initial implementation
7 years ago
ReinUsesLisp
294df41b86
shader_bytecode: Fixup encoding
7 years ago
ReinUsesLisp
a0c8c16d07
shader_header: Make local memory size getter constant
7 years ago
ReinUsesLisp
b683e41fca
gl_rasterizer_cache: Use dirty flags for the depth buffer
7 years ago
ReinUsesLisp
179ee963db
gl_rasterizer_cache: Use dirty flags for color buffers
7 years ago
ReinUsesLisp
0ab17ab406
gl_shader_cache: Use dirty flags for shaders
7 years ago
ReinUsesLisp
aaa0e6c346
shader_bytecode: Fixup TEXS.F16 encoding
7 years ago
David Marcec
fdd649e2ef
Fixed uninitialized memory due to missing returns in canary
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
7 years ago
ReinUsesLisp
ef061481c5
shader_bytecode: Fixup half float's operator B encoding
7 years ago
heapo
72599cc667
Implement postfactor multiplication/division for fmul instructions
7 years ago
ReinUsesLisp
59a8df1b14
gl_shader_decompiler: Implement TEXS.F16
7 years ago
ReinUsesLisp
2908d30274
gl_rasterizer: Enable clip distances when set in register and in shader
8 years ago
bunnei
abea6fa90c
gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
8 years ago
Rodolfo Bogado
dfdbfa69e5
Implement depth clamp
8 years ago
Rodolfo Bogado
8e971f5062
Add support for Clip Distance enabled register
8 years ago
Marcos
cb8d51e37e
GPU States: Implement Polygon Offset. This is used in SMO all the time. ( #1784 )
* GPU States: Implement Polygon Offset. This is used in SMO all the time.
* Clang Format fixes.
* Initialize polygon_offset in the constructor.
8 years ago
FernandoS27
ddfbe0b58d
Implemented Tile Width Spacing
8 years ago
ReinUsesLisp
924e834b8f
gl_shader_decompiler: Implement S2R's Y_DIRECTION
8 years ago
Rodolfo Bogado
13f6a603c2
Add support for viewport_transfom_enable register
8 years ago
Rodolfo Bogado
54c2a4cafc
Add support for clear_flags register
8 years ago
Hexagon12
3135dbc29c
Added predicate comparison LessEqualWithNan ( #1736 )
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
8 years ago
ReinUsesLisp
b3853403b7
gl_shader_decompiler: Implement clip distances
8 years ago
bunnei
0e6a608245
maxwell_3d: Implement alternate blend equations.
- Used by Undertale.
8 years ago
ReinUsesLisp
8a5e6fce07
gl_shader_decompiler: Rename control codes to condition codes
8 years ago
ReinUsesLisp
642dfeda2a
gl_shader_decompiler: Implement BFI_IMM_R
8 years ago
ReinUsesLisp
d92afc7493
gl_shader_decompiler: Implement R2P_IMM
8 years ago
bunnei
1a543723ab
maxwell_3d: Initialize rasterizer color mask registers as enabled.
- Fixes rendering regression with Sonic Mania.
8 years ago
Rodolfo Bogado
5297495c87
small fix for alphaToOne bit location
8 years ago
Rodolfo Bogado
e69eb3c760
fix for gcc compilation
8 years ago
Rodolfo Bogado
53b4a1af0f
add AlphaToCoverage and AlphaToOne
8 years ago
Rodolfo Bogado
8ed7e1af2c
add support for fragment_color_clamp
8 years ago
Rodolfo Bogado
6a2aa6dbdb
set default value for point size register
8 years ago
Rodolfo Bogado
1881e86c43
fix viewport and scissor behavior
8 years ago
Markus Wick
97f5c4ffd3
gl_rasterizer: Skip VB upload if the state is clean.
8 years ago
Frederic L
ab362aa7e5
gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
8 years ago
Rodolfo Bogado
4a6eff3b7b
Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors.
8 years ago
Markus Wick
359db6a673
gl_rasterizer: Skip VAO binding if the state is clean.
8 years ago
Rodolfo Bogado
19038db489
Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets.
8 years ago
Rodolfo Bogado
145ae36963
Implement multi-target viewports and blending
8 years ago
bunnei
de0ab806df
maxwell_3d: Restructure macro upload to use a single macro code memory.
- Fixes an issue where macros could be skipped.
- Fixes rendering of distant objects in Super Mario Odyssey.
8 years ago
FernandoS27
5bb80ab009
Assert Control Codes Generation
8 years ago
Frederic L
7a5eda5914
global: Use std::optional instead of boost::optional ( #1578 )
* get rid of boost::optional
* Remove optional references
* Use std::reference_wrapper for optional references
* Fix clang format
* Fix clang format part 2
* Adressed feedback
* Fix clang format and MacOS build
8 years ago
FernandoS27
3aa8b644a9
Assert Control Flow Instructions using Control Codes
8 years ago
Rodolfo Bogado
0287b2be6d
Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support
8 years ago