Commit Graph

426 Commits (ae437320c84e8c5fff69e8cec413e63b11f952b6)

Author SHA1 Message Date
bunnei 8ce90a4f0b
Merge pull request #1783 from ReinUsesLisp/clip-distances
gl_shader_decompiler: Implement clip distances
7 years ago
ReinUsesLisp 924e834b8f gl_shader_decompiler: Implement S2R's Y_DIRECTION 7 years ago
Rodolfo Bogado 13f6a603c2 Add support for viewport_transfom_enable register 7 years ago
bunnei e23543918b
Merge pull request #1785 from Tinob/master
Add support for clear_flags register
7 years ago
bunnei b6b78203cc
Merge pull request #1769 from ReinUsesLisp/cc
gl_shader_decompiler: Rename cc to condition code and name internal flags
7 years ago
Rodolfo Bogado 54c2a4cafc Add support for clear_flags register 7 years ago
Hexagon12 3135dbc29c Added predicate comparison LessEqualWithNan (#1736)
* Added predicate comparison LessEqualWithNan

* oops

* Clang fix
7 years ago
ReinUsesLisp b3853403b7 gl_shader_decompiler: Implement clip distances 7 years ago
bunnei 0e6a608245 maxwell_3d: Implement alternate blend equations.
- Used by Undertale.
7 years ago
ReinUsesLisp 8a5e6fce07 gl_shader_decompiler: Rename control codes to condition codes 7 years ago
ReinUsesLisp 642dfeda2a gl_shader_decompiler: Implement BFI_IMM_R 7 years ago
ReinUsesLisp d92afc7493 gl_shader_decompiler: Implement R2P_IMM 7 years ago
bunnei 1a543723ab maxwell_3d: Initialize rasterizer color mask registers as enabled.
- Fixes rendering regression with Sonic Mania.
7 years ago
Rodolfo Bogado 5297495c87 small fix for alphaToOne bit location 7 years ago
Rodolfo Bogado e69eb3c760 fix for gcc compilation 7 years ago
Rodolfo Bogado 53b4a1af0f add AlphaToCoverage and AlphaToOne 7 years ago
Rodolfo Bogado 8ed7e1af2c add support for fragment_color_clamp 7 years ago
Rodolfo Bogado 6a2aa6dbdb set default value for point size register 7 years ago
Rodolfo Bogado 1881e86c43 fix viewport and scissor behavior 7 years ago
Markus Wick 97f5c4ffd3 gl_rasterizer: Skip VB upload if the state is clean. 7 years ago
Frederic L ab362aa7e5
gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
7 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. 7 years ago
bunnei 8ea6261547
Merge pull request #1654 from degasus/dirty_flags
gl_rasterizer: Skip VAO binding if the state is clean.
7 years ago
Markus Wick 359db6a673 gl_rasterizer: Skip VAO binding if the state is clean. 7 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. 7 years ago
Rodolfo Bogado 145ae36963 Implement multi-target viewports and blending 7 years ago
bunnei 9afcbba8e4
Merge pull request #1527 from FernandoS27/assert-flow
Assert Control Flow Instructions using Control Codes
7 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.
7 years ago
bunnei 86e70cf302
Merge pull request #1528 from FernandoS27/assert-control-codes
Assert Control Codes Generation on Shader Instructions
7 years ago
FernandoS27 5bb80ab009 Assert Control Codes Generation 7 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
7 years ago
FernandoS27 3aa8b644a9 Assert Control Flow Instructions using Control Codes 7 years ago
Rodolfo Bogado 0287b2be6d Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support 7 years ago
bunnei 58444a0376 gl_rasterizer: Implement primitive restart. 7 years ago
bunnei d278f25bda
Merge pull request #1533 from FernandoS27/lmem
Implemented Shader Local Memory
7 years ago
bunnei 949d9a7136 maxwell_3d: Add code for initializing register defaults. 7 years ago
FernandoS27 ca142f35c0 Implemented LD_L and ST_L 7 years ago
bunnei 69b35d7615
Merge pull request #1554 from FernandoS27/pointsize
Implement PointSize Output Attribute.
7 years ago
Lioncash a97cdb5eb4
maxwell_3d: Remove unused variable within ProcessQueryGet() 7 years ago
FernandoS27 ed8ca608a0 Implement PointSize 7 years ago
bunnei 5716496239
Merge pull request #1519 from ReinUsesLisp/vsetp
gl_shader_decompiler: Implement VSETP
7 years ago
bunnei 0f3d8c2574
Merge pull request #1539 from lioncash/dma
maxwell_dma: Silence compilation warnings
7 years ago
bunnei 75d807788c
Merge pull request #1470 from FernandoS27/alpha_testing
Implemented Alpha Test using Shader Emulation
7 years ago
ReinUsesLisp 7d6dca0d0a gl_shader_decompiler: Implement VSETP 7 years ago
ReinUsesLisp 5dfb43531c gl_shader_decompiler: Abstract VMAD into a video subset 7 years ago
bunnei 848a49112a
Merge pull request #1512 from ReinUsesLisp/brk
gl_shader_decompiler: Implement PBK and BRK
7 years ago
FernandoS27 259da93567 Added Saturation to FMUL32I 7 years ago
FernandoS27 aa620c14af Implemented Alpha Testing 7 years ago
FernandoS27 5c5b4e8e7d Fixed FSETP and FSET 7 years ago
Lioncash c1e5525fc6 engines/maxwell_*: Use nested namespace specifiers where applicable
These three source files are the only ones within the engines directory
that don't use nested namespaces. We may as well change these over to
keep things consistent.
7 years ago
Lioncash d53c73adaa maxwell_dma: Make variables const where applicable within HandleCopy()
These are never modified, so we can make that assumption explicit.
7 years ago
Lioncash dd1ee39426 maxwell_dma: Make FlushAndInvalidate's size parameter a u64
This prevents truncation warnings at the lambda's usage sites.
7 years ago
Lioncash 08e574eec4 maxwell_dma: Remove unused variables in HandleCopy()
These pointer variables are never used, so we can get rid of them.
7 years ago
bunnei b1f8bff7db
Merge pull request #1501 from ReinUsesLisp/half-float
gl_shader_decompiler: Implement H* instructions
7 years ago
bunnei 7e665c2721 GPU: Improved implementation of maxwell DMA (Subv). 7 years ago
bunnei a5d853a9f8 GPU: Invalidate destination address of kepler_memory writes. 7 years ago
bunnei 6b333d862b fermi_2d: Add support for more accurate surface copies. 7 years ago
ReinUsesLisp 41fb25349a gl_shader_decompiler: Implement PBK and BRK 7 years ago
FernandoS27 fd9e2d0073 Implement 3D Textures 7 years ago
ReinUsesLisp 936c36a514 shader_bytecode: Add Control Code enum 0xf
Control Code 0xf means to unconditionally execute the instruction. This
value is passed to most BRA, EXIT and SYNC instructions (among others)
but this may not always be the case.
7 years ago
ReinUsesLisp 6312eec5ef gl_shader_decompiler: Implement HSET2_R 7 years ago
ReinUsesLisp 4fc8ad67bf gl_shader_decompiler: Implement HSETP2_R 7 years ago
ReinUsesLisp 3d65aa4caf gl_shader_decompiler: Implement HFMA2 instructions 7 years ago
ReinUsesLisp d93cdc2750 gl_shader_decompiler: Implement HADD2_IMM and HMUL2_IMM 7 years ago
ReinUsesLisp d46e2a6e7a gl_shader_decompiler: Implement non-immediate HADD2 and HMUL2 instructions 7 years ago
ReinUsesLisp 08d751d882 gl_shader_decompiler: Setup base for half float unpacking and setting 7 years ago
FernandoS27 e0ca938b22 Propagate depth and depth_block on modules using decoders 7 years ago
ReinUsesLisp 17290a4416 gl_shader_decompiler: Implement VMAD 7 years ago
bunnei 6d82c4adf9
Merge pull request #1458 from FernandoS27/fix-render-target-block-settings
Fixed block height settings for RenderTargets and Depth Buffers
7 years ago
bunnei 03ec936ca0
Merge pull request #1460 from FernandoS27/scissor_test
Implemented Scissor Testing
7 years ago
FernandoS27 5f4ee6f0c8 Add memory Layout to Render Targets and Depth Buffers 7 years ago
FernandoS27 af653906d0 Fixed block height settings for RenderTargets and Depth Buffers, and added block width and block depth 7 years ago
FernandoS27 30ff42b8cc Assert Scissor tests 7 years ago
ReinUsesLisp ee4d538850 gl_shader_decompiler: Implement geometry shaders 7 years ago
bunnei 9aec85d39c fermi_2d: Implement simple copies with AccelerateSurfaceCopy. 7 years ago
ReinUsesLisp 3e2380327a gl_rasterizer: Implement quads topology 7 years ago
bunnei fe5962e073
Merge pull request #1411 from ReinUsesLisp/point-size
video_core: Implement point_size and add point state sync
7 years ago
ReinUsesLisp e3e51d3ddb video_core: Implement point_size and add point state sync 7 years ago
ReinUsesLisp b8f1506aa5 gl_state: Pack sampler bindings into a single ARB_multi_bind 7 years ago
ReinUsesLisp ab65fde9f4 video_core: Add asserts for CS, TFB and alpha testing
Add asserts for compute shader dispatching, transform feedback being
enabled and alpha testing. These have in common that they'll probably break
rendering without logging.
7 years ago
Lioncash a8f5fd787f shader_bytecode: Lay out the Ipa-related enums better
This is more consistent with the surrounding enums.
7 years ago
Lioncash 272517cf7e shader_bytecode: Make operator== and operator!= of IpaMode const qualified
These don't affect the state of the struct and can be const member
functions.
7 years ago
bunnei 0284cbe7ec
Merge pull request #1279 from FernandoS27/csetp
shader_decompiler: Implemented (Partialy) Control Codes and CSETP
7 years ago
bunnei 6415f81bb8
Merge pull request #1299 from FernandoS27/texture-sanatize
shader_decompiler: Asserts for Texture Instructions
7 years ago
bunnei fafc80d72e
Merge pull request #1290 from FernandoS27/shader-header
Implemented (Partialy) Shader Header
7 years ago
FernandoS27 e4bb759c4b Implemented I2I.CC on the NEU control code, used by SMO 7 years ago
FernandoS27 e2ac8fb36d Implemented CSETP 7 years ago
FernandoS27 aac77bbd18 Implemented Control Codes 7 years ago
FernandoS27 55a4756766 Added texture misc modes to texture instructions 7 years ago
bunnei 076add4ccd
Merge pull request #1326 from FearlessTobi/port-4182
Port #4182 from Citra: "Prefix all size_t with std::"
7 years ago
bunnei ba480ea2fb
Merge pull request #1273 from Subv/ld_sizes
Shaders: Implemented multiple-word loads and stores to and from attribute memory.
7 years ago
bunnei daee15b058
Merge pull request #1271 from Subv/kepler_engine
GPU: Basic implementation of the Kepler Inline Memory engine (p2mf).
7 years ago
Subv c878a819d7 Shaders: Implemented multiple-word loads and stores to and from attribute memory.
This seems to be an optimization performed by nouveau.
7 years ago
fearlessTobi 63c2e32e20 Port #4182 from Citra: "Prefix all size_t with std::" 7 years ago
bunnei cc50857460
Merge pull request #1263 from FernandoS27/tex-mode
shader_decompiler:  Implemented (Partially) Texture Processing Modes
7 years ago
Subv bb5eb4f20a GPU: Basic implementation of the Kepler Inline Memory engine (p2mf).
This engine writes data from a FIFO register into the configured address.
7 years ago
FernandoS27 a99d9db32f Implemented Texture Processing Modes 7 years ago
FernandoS27 3f0922715a Implemented encodings for LEA and PSET 7 years ago
FernandoS27 2b48cfd44b Replace old FragmentHeader for the new Header 7 years ago
FernandoS27 e926757c8f Implemented (Partialy) Shader Header 7 years ago