Commit Graph

2204 Commits (cca4665a69a2dffeadf6eee1f80723f05b51a933)

Author SHA1 Message Date
ReinUsesLisp 924e834b8f gl_shader_decompiler: Implement S2R's Y_DIRECTION 7 years ago
bunnei 7d544c1b9d
Merge pull request #1787 from bunnei/fix-gpu-mm
memory_manager: Do not allow 0 to be a valid GPUVAddr.
7 years ago
ReinUsesLisp 7ff2131cf9 morton: Style changes 7 years ago
ReinUsesLisp dad3a6718e video_core: Move morton functions to their own file 7 years ago
FernandoS27 8c797464a2 Fix Texture Overlapping 7 years ago
FernandoS27 33afff1870 Implemented BRA CC conditional and FSET CC Setting 7 years ago
Rodolfo Bogado 13f6a603c2 Add support for viewport_transfom_enable register 7 years ago
bunnei d01bf170c4
Merge pull request #1725 from FernandoS27/gl43
Update OpenGL's backend version from 3.3 to 4.3
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
FernandoS27 7668ef51d6 Fix TEXS Instruction encodings 7 years ago
FernandoS27 9c2127d5eb Fix one encoding in TEX Instruction 7 years ago
FernandoS27 487d805899 Corrected inputs indexing in TEX instruction 7 years ago
bunnei 69b3f98d3a
Merge pull request #1744 from degasus/shader_cache
shader_cache: Only lock covered instructions.
7 years ago
bunnei 0b1842294f memory_manager: Do not allow 0 to be a valid GPUVAddr.
- Fixes a bug with Undertale using 0 for a render target.
7 years ago
Hexagon12 3135dbc29c Added predicate comparison LessEqualWithNan (#1736)
* Added predicate comparison LessEqualWithNan

* oops

* Clang fix
7 years ago
bunnei c4b5319446
Merge pull request #1756 from ReinUsesLisp/fix-textures
gl_shader_decompiler: Fix register overwriting on texture calls
7 years ago
bunnei d77af9f8fd
Merge pull request #1766 from FernandoS27/fix-txq
Properly Implemented TXQ Instruction
7 years ago
ReinUsesLisp b3853403b7 gl_shader_decompiler: Implement clip distances 7 years ago
ReinUsesLisp c9ac23683b gl_shader_decompiler: Add a message for unimplemented cc generation 7 years ago
bunnei 50d2abaaa9
Merge pull request #1775 from bunnei/blend-eq
maxwell_3d: Implement alternate blend equations.
7 years ago
bunnei e633021532
Merge pull request #1764 from bunnei/macrointerpreter
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
7 years ago
bunnei 033b46253e macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
- Used by Undertale.
7 years ago
bunnei 0e6a608245 maxwell_3d: Implement alternate blend equations.
- Used by Undertale.
7 years ago
bunnei b84f4cfb62
Merge pull request #1737 from FernandoS27/layer-copy
Implemented Fast Layered Copy
7 years ago
ReinUsesLisp 74eb16521f gl_shader_decompiler: Rename internal flag strings 7 years ago
ReinUsesLisp 8a5e6fce07 gl_shader_decompiler: Rename control codes to condition codes 7 years ago
ReinUsesLisp 864cbbaf4c gl_shader_decompiler: Fix register overwriting on texture calls 7 years ago
bunnei ec38b4e883
Merge pull request #1753 from FernandoS27/ufbtype
Use default values for unknown framebuffer pixel format
7 years ago
bunnei 61586e8794
Merge pull request #1752 from ReinUsesLisp/unimpl-decompiler
gl_shader_decompiler: Use UNIMPLEMENTED when applicable
7 years ago
FernandoS27 4a6a9b6622 Properly Implemented TXQ Instruction 7 years ago
ReinUsesLisp 642dfeda2a gl_shader_decompiler: Implement BFI_IMM_R 7 years ago
bunnei bb175ab430
Merge pull request #1754 from ReinUsesLisp/zero-register
gl_shader_decompiler: Remove UNREACHABLE when setting RZ
7 years ago
FernandoS27 0368260c99 Removed pre 4.3 ARB extensions 7 years ago
FernandoS27 0a9fedfac9 Use default values for unknown framebuffer pixel format 7 years ago
ReinUsesLisp d92afc7493 gl_shader_decompiler: Implement R2P_IMM 7 years ago
ReinUsesLisp 423a3ed2c8 gl_shader_decompiler: Remove UNREACHABLE when setting RZ 7 years ago
ReinUsesLisp bb893188eb gl_shader_decompiler: Use UNIMPLEMENTED instead of LOG+UNREACHABLE when applicable 7 years ago
bunnei 1a543723ab maxwell_3d: Initialize rasterizer color mask registers as enabled.
- Fixes rendering regression with Sonic Mania.
7 years ago
Markus Wick cfbae58b2b shader_cache: Only lock covered instructions. 7 years ago
FernandoS27 eb36463e03 Implemented Fast Layered Copy 7 years ago
bunnei f02b125ac8
Merge pull request #1717 from FreddyFunk/swizzle-gob
textures/decoders: Replace magic numbers
7 years ago
bunnei 6dc33fb812
Merge pull request #1693 from Tinob/master
Missing ogl states
7 years ago
Frederic L 11a1442229 Eliminated unnessessary memory allocation and copy (#1702) 7 years ago
ReinUsesLisp 29e7c76d66 gl_rasterizer: Remove default clip distance 7 years ago
Rodolfo Bogado 4d1a0a24cc drop support for non separate alpha as it seems to cause issues in some games 7 years ago
Rodolfo Bogado 81a9c5fe6f fix sampler configuration, thanks to Marcos for his investigation 7 years ago
Rodolfo Bogado b312cca756 small type fix 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 02c22a3440 add missing MirrorOnceBorder support where supported 7 years ago
Rodolfo Bogado 1d60bb6544 set border color not depending on the wrap mode
only enable color mask for the first framebuffer id independent blending is disabled
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 Laing 7a400e2191 textures/decoders: Replace magic numbers 7 years ago
bunnei 405dd03dae
Merge pull request #1700 from FreddyFunk/cleanup
gl_rasterizer_chache: Minor cleanup
7 years ago
bunnei 241646f423
Merge pull request #1701 from FreddyFunk/decoders
textures/decoders: Minor cleanup
7 years ago
bunnei 0b701751da
Merge pull request #1676 from lioncash/warn
gl_state: Amend compilation warnings
7 years ago
Frederic Laing 95d3965f31 textures/decoders: Minor cleanup 7 years ago
Frederic Laing 3844b5c0c5 gl_rasterizer_chache: Minor cleanup 7 years ago
bunnei 8a537a2021
Merge pull request #1637 from FernandoS27/cache
Improved GPU Caches lookup Speed
7 years ago
bunnei 3bd503d59c
Merge pull request #1662 from FreddyFunk/CopySurface-Optimization
gl_rasterizer_cache: CopySurface optimization
7 years ago
bunnei d2b2b05b6a
Merge pull request #1685 from lioncash/base
video_core/renderer_base: Remove GL include from the renderer base class files
7 years ago
Lioncash 4ed9ef15c4 video_core/renderer_base: Remove GL include from the renderer base class files
Keeps the base class source files implementation-agnostic.
7 years ago
Frederic L ab362aa7e5
gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
7 years ago
Lioncash 9a0fb7d9fb gl_state: Amend compilation warnings
Makes float -> integral conversions explicit via casts and also silences
a sign conversion warning.
7 years ago
bunnei 65bd03d74c
Merge pull request #1628 from greggameplayer/Texture2DArray
Implement SurfaceTarget Texture2DArray
7 years ago
greggameplayer c8b3f09876 Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB (#1666)
* Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB
( needed by Mario+Rabbids Kingdom Battle )

* Small placement correction
7 years ago
bunnei 2c6efda235
Merge pull request #1660 from Tinob/master
Map more missing opengl states
7 years ago
bunnei a264fac943
Merge pull request #1664 from FreddyFunk/cast2
gl_rasterizer: Fix compiler warnings
7 years ago
Rodolfo Bogado 72b1fae984 Use core extensions when available to set max anisotropic filtering level 7 years ago
Rodolfo Bogado 4e6c64bf8d Improve state management by splitting some of the states id separated function to avoid a full apply overhead 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
Rodolfo Bogado e9610ec0dd set sampler max lod, min lod, lod bias and max anisotropy 7 years ago
FernandoS27 3088e36237 Improved GPU Caches lookup Speed 7 years ago
bunnei eaee73f95d
Merge pull request #1669 from ReinUsesLisp/fixup-gs
gl_shader_decompiler: Guard out of bound geometry shader input reads
7 years ago
bunnei c82bccab56
Merge pull request #1663 from lioncash/raster
rasterizer_cache: Remove reliance on the System singleton
7 years ago
bunnei 1916213311
Merge pull request #1648 from FernandoS27/texs-3-array
Implement 3 coordinate array in TEXS instruction
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
ReinUsesLisp 8d4bb10d44 gl_shader_decompiler: Guard out of bound geometry shader input reads
Geometry shaders follow a pattern that results in out of bound reads.
This pattern is:
- VSETP to predicate
- Use that predicate to conditionally set a register a big number
- Use the register to access geometry shaders
At the time of writing this commit I don't know what's the intent of
this number. Some drivers argue about these out of bound reads. To avoid
this issue, input reads are guarded limiting reads to the highest
posible vertex input of the current topology (e.g. points to 1 and
triangles to 3).
7 years ago
Frederic Laing e2bf581e3a gl_rasterizer_cache: Remove unnecessary memory allocation and copy in CopySurface 7 years ago
Frederic Laing 1d36aec267 gl_rasterizer: Fix compiler warnings 7 years ago
Lioncash 9046f764bf rasterizer_cache: Remove reliance on the System singleton
Rather than have a transparent dependency, we can make it explicit in
the interface. This also gets rid of the need to put the core include in
a header.
7 years ago
Lioncash 9de523fd90 rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject
Ensures that destruction will always do the right thing in any context.
7 years ago
Lioncash 29f082775b gl_resource_manager: Amend clang-format discrepancies
Fixes the buildbot.
7 years ago
FernandoS27 d347623d6f Correct issue where texturelod could not be applied to 2darrayshadow 7 years ago
FernandoS27 ad2f47b579 Implement 3 coordinate array in TEXS instruction 7 years ago
bunnei 81ff9e2473
Merge pull request #1630 from bunnei/fix-mapbufferex
memory_manager: Do not MapBufferEx over already in use memory.
7 years ago
bunnei 74bce4d68f
Merge pull request #1635 from Tinob/master
Implement multi-target viewports and blending
7 years ago
Markus Wick 359db6a673 gl_rasterizer: Skip VAO binding if the state is clean. 7 years ago
Markus Wick 0590dd2971 gl_rasterizer: Split VAO and VB setup functions. 7 years ago
greggameplayer d3b9599b2d
Merge branch 'master' into Texture2DArray 7 years ago
Markus Wick 2c87f10267 gl_rasterizer_cache: Add profiles for Copy and Blit.
They were missed, and Copy is very high in profile here. It doesn't block the GPU,
but it stalls the driver thread. So with our bad GL instructions, this might block quite a while.
7 years ago
Markus Wick 7e59e907ef gl_resource_manager: Profile creation and deletion. 7 years ago
Markus Wick 80e4dbdce7 gl_stream_buffer: Profile orphaning of stream buffer.
This serialize to the driver thread and so it may block for a while.
So if it is in the benchmark, we get noticed if it happens too often.
7 years ago
Markus Wick 54df9fe29e gl_resource_manager: Split implementations in .cpp file.
Those implementations are quite costly, so there is no need to inline them to the caller.
Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
7 years ago