Rodolfo Bogado
dfdbfa69e5
Implement depth clamp
2018-11-26 20:56:32 -03:00
Rodolfo Bogado
8e971f5062
Add support for Clip Distance enabled register
2018-11-26 20:45:21 -03:00
bunnei
1856d0ee8a
Merge pull request #1794 from Tinob/master
...
Add support for viewport_transfom_enable register
2018-11-26 18:34:09 -05:00
bunnei
67a154e23d
Merge pull request #1723 from degasus/dirty_flags
...
gl_rasterizer: Skip VB upload if the state is clean.
2018-11-26 18:33:22 -05:00
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.
2018-11-26 18:31:44 -05:00
bunnei
7684f4d0cf
Merge pull request #1713 from FernandoS27/bra-cc
...
Implemented BRA CC conditional and FSET CC Setting
2018-11-26 18:28:03 -05:00
bunnei
a41943dc55
Merge pull request #1798 from ReinUsesLisp/y-direction
...
gl_shader_decompiler: Implement S2R's Y_DIRECTION
2018-11-26 18:25:42 -05:00
FernandoS27
ddfbe0b58d
Implemented Tile Width Spacing
2018-11-26 09:05:12 -04:00
bunnei
f9a211220c
Merge pull request #1763 from ReinUsesLisp/bfi
...
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-25 23:04:57 -05:00
bunnei
d7d1ab15b6
Merge pull request #1760 from ReinUsesLisp/r2p
...
gl_shader_decompiler: Implement R2P_IMM
2018-11-25 22:38:42 -05:00
bunnei
0394813401
Merge pull request #1782 from FernandoS27/dc
...
Fixed Coordinate Encodings in TEX and TEXS instructions
2018-11-25 22:36:25 -05:00
bunnei
8ce90a4f0b
Merge pull request #1783 from ReinUsesLisp/clip-distances
...
gl_shader_decompiler: Implement clip distances
2018-11-25 22:35:30 -05:00
bunnei
ceb4bc22a4
Merge pull request #1796 from ReinUsesLisp/morton-move
...
video_core: Move morton functions out of gl_rasterizer_cache
2018-11-25 22:35:12 -05:00
Rodolfo Bogado
415e8383ba
Limit the amount of viewports tested for state changes only to the usable ones
2018-11-25 12:18:29 -03:00
ReinUsesLisp
924e834b8f
gl_shader_decompiler: Implement S2R's Y_DIRECTION
2018-11-25 04:37:29 -03:00
bunnei
7d544c1b9d
Merge pull request #1787 from bunnei/fix-gpu-mm
...
memory_manager: Do not allow 0 to be a valid GPUVAddr.
2018-11-24 23:45:00 -05:00
ReinUsesLisp
7ff2131cf9
morton: Style changes
2018-11-25 00:38:53 -03:00
ReinUsesLisp
dad3a6718e
video_core: Move morton functions to their own file
2018-11-25 00:37:18 -03:00
FernandoS27
8c797464a2
Fix Texture Overlapping
2018-11-24 17:26:42 -04:00
FernandoS27
33afff1870
Implemented BRA CC conditional and FSET CC Setting
2018-11-24 13:25:54 -04:00
Rodolfo Bogado
13f6a603c2
Add support for viewport_transfom_enable register
2018-11-24 13:17:48 -03:00
bunnei
d01bf170c4
Merge pull request #1725 from FernandoS27/gl43
...
Update OpenGL's backend version from 3.3 to 4.3
2018-11-23 23:56:57 -05:00
bunnei
e23543918b
Merge pull request #1785 from Tinob/master
...
Add support for clear_flags register
2018-11-23 23:55:56 -05:00
bunnei
b6b78203cc
Merge pull request #1769 from ReinUsesLisp/cc
...
gl_shader_decompiler: Rename cc to condition code and name internal flags
2018-11-23 23:31:04 -05:00
Rodolfo Bogado
54c2a4cafc
Add support for clear_flags register
2018-11-24 00:16:33 -03:00
FernandoS27
7668ef51d6
Fix TEXS Instruction encodings
2018-11-23 22:46:50 -04:00
FernandoS27
9c2127d5eb
Fix one encoding in TEX Instruction
2018-11-23 22:46:49 -04:00
FernandoS27
487d805899
Corrected inputs indexing in TEX instruction
2018-11-23 22:46:48 -04:00
bunnei
69b3f98d3a
Merge pull request #1744 from degasus/shader_cache
...
shader_cache: Only lock covered instructions.
2018-11-23 21:09:36 -05:00
bunnei
0b1842294f
memory_manager: Do not allow 0 to be a valid GPUVAddr.
...
- Fixes a bug with Undertale using 0 for a render target.
2018-11-23 12:58:55 -05:00
Hexagon12
3135dbc29c
Added predicate comparison LessEqualWithNan ( #1736 )
...
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
2018-11-23 08:51:32 -08:00
bunnei
c4b5319446
Merge pull request #1756 from ReinUsesLisp/fix-textures
...
gl_shader_decompiler: Fix register overwriting on texture calls
2018-11-23 08:49:37 -08:00
bunnei
d77af9f8fd
Merge pull request #1766 from FernandoS27/fix-txq
...
Properly Implemented TXQ Instruction
2018-11-23 08:48:57 -08:00
ReinUsesLisp
b3853403b7
gl_shader_decompiler: Implement clip distances
2018-11-23 02:14:43 -03:00
ReinUsesLisp
c9ac23683b
gl_shader_decompiler: Add a message for unimplemented cc generation
2018-11-22 16:12:27 -03:00
bunnei
50d2abaaa9
Merge pull request #1775 from bunnei/blend-eq
...
maxwell_3d: Implement alternate blend equations.
2018-11-22 08:44:05 -08:00
bunnei
e633021532
Merge pull request #1764 from bunnei/macrointerpreter
...
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
2018-11-22 08:43:29 -08:00
bunnei
033b46253e
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
...
- Used by Undertale.
2018-11-22 00:58:00 -05:00
bunnei
0e6a608245
maxwell_3d: Implement alternate blend equations.
...
- Used by Undertale.
2018-11-22 00:51:01 -05:00
bunnei
b84f4cfb62
Merge pull request #1737 from FernandoS27/layer-copy
...
Implemented Fast Layered Copy
2018-11-21 21:39:16 -08:00
ReinUsesLisp
74eb16521f
gl_shader_decompiler: Rename internal flag strings
2018-11-21 22:31:42 -03:00
ReinUsesLisp
8a5e6fce07
gl_shader_decompiler: Rename control codes to condition codes
2018-11-21 22:31:16 -03:00
ReinUsesLisp
864cbbaf4c
gl_shader_decompiler: Fix register overwriting on texture calls
2018-11-21 21:21:19 -03:00
bunnei
ec38b4e883
Merge pull request #1753 from FernandoS27/ufbtype
...
Use default values for unknown framebuffer pixel format
2018-11-21 14:15:27 -08:00
bunnei
61586e8794
Merge pull request #1752 from ReinUsesLisp/unimpl-decompiler
...
gl_shader_decompiler: Use UNIMPLEMENTED when applicable
2018-11-21 14:13:28 -08:00
FernandoS27
4a6a9b6622
Properly Implemented TXQ Instruction
2018-11-21 18:12:36 -04:00
ReinUsesLisp
642dfeda2a
gl_shader_decompiler: Implement BFI_IMM_R
2018-11-21 16:12:30 -03:00
bunnei
bb175ab430
Merge pull request #1754 from ReinUsesLisp/zero-register
...
gl_shader_decompiler: Remove UNREACHABLE when setting RZ
2018-11-21 08:06:29 -08:00
FernandoS27
0368260c99
Removed pre 4.3 ARB extensions
2018-11-21 11:43:17 -04:00
FernandoS27
0a9fedfac9
Use default values for unknown framebuffer pixel format
2018-11-21 07:33:34 -04:00
ReinUsesLisp
d92afc7493
gl_shader_decompiler: Implement R2P_IMM
2018-11-21 04:56:00 -03:00
ReinUsesLisp
423a3ed2c8
gl_shader_decompiler: Remove UNREACHABLE when setting RZ
2018-11-20 22:23:10 -03:00
ReinUsesLisp
bb893188eb
gl_shader_decompiler: Use UNIMPLEMENTED instead of LOG+UNREACHABLE when applicable
2018-11-20 22:00:13 -03:00
bunnei
1a543723ab
maxwell_3d: Initialize rasterizer color mask registers as enabled.
...
- Fixes rendering regression with Sonic Mania.
2018-11-20 19:58:06 -05:00
Markus Wick
cfbae58b2b
shader_cache: Only lock covered instructions.
2018-11-20 21:58:31 +01:00
FernandoS27
eb36463e03
Implemented Fast Layered Copy
2018-11-19 19:51:13 -04:00
bunnei
f02b125ac8
Merge pull request #1717 from FreddyFunk/swizzle-gob
...
textures/decoders: Replace magic numbers
2018-11-18 20:13:00 -08:00
bunnei
6dc33fb812
Merge pull request #1693 from Tinob/master
...
Missing ogl states
2018-11-18 19:59:10 -08:00
Frederic L
11a1442229
Eliminated unnessessary memory allocation and copy ( #1702 )
2018-11-18 19:53:03 -08:00
ReinUsesLisp
29e7c76d66
gl_rasterizer: Remove default clip distance
2018-11-18 23:57:52 -03:00
Rodolfo Bogado
4d1a0a24cc
drop support for non separate alpha as it seems to cause issues in some games
2018-11-18 03:44:48 -03:00
Rodolfo Bogado
81a9c5fe6f
fix sampler configuration, thanks to Marcos for his investigation
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
b312cca756
small type fix
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
5297495c87
small fix for alphaToOne bit location
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
e69eb3c760
fix for gcc compilation
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
53b4a1af0f
add AlphaToCoverage and AlphaToOne
2018-11-17 19:59:34 -03:00
Rodolfo Bogado
8ed7e1af2c
add support for fragment_color_clamp
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
02c22a3440
add missing MirrorOnceBorder support where supported
2018-11-17 19:59:33 -03:00
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
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
6a2aa6dbdb
set default value for point size register
2018-11-17 19:59:33 -03:00
Rodolfo Bogado
1881e86c43
fix viewport and scissor behavior
2018-11-17 19:59:32 -03:00
Markus Wick
97f5c4ffd3
gl_rasterizer: Skip VB upload if the state is clean.
2018-11-17 14:28:54 +01:00
Frederic Laing
7a400e2191
textures/decoders: Replace magic numbers
2018-11-17 01:55:28 +01:00
bunnei
405dd03dae
Merge pull request #1700 from FreddyFunk/cleanup
...
gl_rasterizer_chache: Minor cleanup
2018-11-16 07:07:30 -08:00
bunnei
241646f423
Merge pull request #1701 from FreddyFunk/decoders
...
textures/decoders: Minor cleanup
2018-11-16 07:07:11 -08:00
bunnei
0b701751da
Merge pull request #1676 from lioncash/warn
...
gl_state: Amend compilation warnings
2018-11-16 07:00:03 -08:00
Frederic Laing
95d3965f31
textures/decoders: Minor cleanup
2018-11-15 21:04:17 +01:00
Frederic Laing
3844b5c0c5
gl_rasterizer_chache: Minor cleanup
2018-11-15 20:10:05 +01:00
bunnei
8a537a2021
Merge pull request #1637 from FernandoS27/cache
...
Improved GPU Caches lookup Speed
2018-11-14 19:07:52 -08:00
bunnei
3bd503d59c
Merge pull request #1662 from FreddyFunk/CopySurface-Optimization
...
gl_rasterizer_cache: CopySurface optimization
2018-11-13 18:58:12 -08:00
bunnei
d2b2b05b6a
Merge pull request #1685 from lioncash/base
...
video_core/renderer_base: Remove GL include from the renderer base class files
2018-11-13 18:53:59 -08:00
Lioncash
4ed9ef15c4
video_core/renderer_base: Remove GL include from the renderer base class files
...
Keeps the base class source files implementation-agnostic.
2018-11-13 14:38:13 -05:00
Frederic L
ab362aa7e5
gl_rasterizer: Minor cleanup
...
Minor code cleanup from unaddressed feedback in #1654
2018-11-13 14:07:23 +01:00
Lioncash
9a0fb7d9fb
gl_state: Amend compilation warnings
...
Makes float -> integral conversions explicit via casts and also silences
a sign conversion warning.
2018-11-13 07:10:40 -05:00
bunnei
65bd03d74c
Merge pull request #1628 from greggameplayer/Texture2DArray
...
Implement SurfaceTarget Texture2DArray
2018-11-12 21:13:47 -08:00
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
2018-11-12 18:34:54 -08:00
bunnei
2c6efda235
Merge pull request #1660 from Tinob/master
...
Map more missing opengl states
2018-11-11 19:58:16 -08:00
bunnei
a264fac943
Merge pull request #1664 from FreddyFunk/cast2
...
gl_rasterizer: Fix compiler warnings
2018-11-11 12:18:29 -08:00
Rodolfo Bogado
72b1fae984
Use core extensions when available to set max anisotropic filtering level
2018-11-11 16:36:53 -03:00
Rodolfo Bogado
4e6c64bf8d
Improve state management by splitting some of the states id separated function to avoid a full apply overhead
2018-11-11 16:36:53 -03:00
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.
2018-11-11 16:31:00 -03:00
Rodolfo Bogado
e9610ec0dd
set sampler max lod, min lod, lod bias and max anisotropy
2018-11-11 16:31:00 -03:00
FernandoS27
3088e36237
Improved GPU Caches lookup Speed
2018-11-11 12:53:25 -04:00
bunnei
eaee73f95d
Merge pull request #1669 from ReinUsesLisp/fixup-gs
...
gl_shader_decompiler: Guard out of bound geometry shader input reads
2018-11-11 08:28:20 -08:00
bunnei
c82bccab56
Merge pull request #1663 from lioncash/raster
...
rasterizer_cache: Remove reliance on the System singleton
2018-11-11 08:20:27 -08:00
bunnei
1916213311
Merge pull request #1648 from FernandoS27/texs-3-array
...
Implement 3 coordinate array in TEXS instruction
2018-11-11 08:18:27 -08:00
bunnei
8ea6261547
Merge pull request #1654 from degasus/dirty_flags
...
gl_rasterizer: Skip VAO binding if the state is clean.
2018-11-11 08:17:57 -08:00
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).
2018-11-10 03:10:50 -03:00
Frederic Laing
e2bf581e3a
gl_rasterizer_cache: Remove unnecessary memory allocation and copy in CopySurface
2018-11-08 16:50:09 +01:00
Frederic Laing
1d36aec267
gl_rasterizer: Fix compiler warnings
2018-11-08 13:33:30 +01:00
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.
2018-11-08 06:16:38 -05:00
Lioncash
9de523fd90
rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject
...
Ensures that destruction will always do the right thing in any context.
2018-11-08 00:31:39 -05:00
Lioncash
29f082775b
gl_resource_manager: Amend clang-format discrepancies
...
Fixes the buildbot.
2018-11-08 00:23:45 -05:00
FernandoS27
d347623d6f
Correct issue where texturelod could not be applied to 2darrayshadow
2018-11-07 21:48:45 -04:00
FernandoS27
ad2f47b579
Implement 3 coordinate array in TEXS instruction
2018-11-07 17:04:30 -04:00
bunnei
81ff9e2473
Merge pull request #1630 from bunnei/fix-mapbufferex
...
memory_manager: Do not MapBufferEx over already in use memory.
2018-11-07 00:14:36 -08:00
bunnei
74bce4d68f
Merge pull request #1635 from Tinob/master
...
Implement multi-target viewports and blending
2018-11-07 00:11:49 -08:00
Markus Wick
359db6a673
gl_rasterizer: Skip VAO binding if the state is clean.
2018-11-06 22:31:33 +01:00
Markus Wick
0590dd2971
gl_rasterizer: Split VAO and VB setup functions.
2018-11-06 22:31:33 +01:00
greggameplayer
d3b9599b2d
Merge branch 'master' into Texture2DArray
2018-11-06 19:05:57 +01:00
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.
2018-11-06 17:45:32 +01:00
Markus Wick
7e59e907ef
gl_resource_manager: Profile creation and deletion.
2018-11-06 17:45:32 +01:00
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.
2018-11-06 17:45:32 +01:00
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.
2018-11-06 14:40:39 +01:00
bunnei
cdb19e71fe
Merge pull request #1616 from FernandoS27/cube-array
...
Implement Cube Arrays
2018-11-05 15:28:48 -05:00
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.
2018-11-05 00:24:19 -03:00
Rodolfo Bogado
145ae36963
Implement multi-target viewports and blending
2018-11-04 20:49:48 -03:00
bunnei
38c1c500ab
Merge pull request #1625 from FernandoS27/astc
...
Implement ASTC Textures 5x5 and fix a bunch of ASTC texture problems
2018-11-04 18:47:26 -05:00
greggameplayer
9249fadb9e
correct syntax
2018-11-02 14:28:28 +01:00
greggameplayer
cb8e4a4633
Merge branch 'master' into Texture2DArray
2018-11-02 14:26:32 +01:00
FernandoS27
60a184455c
Fix ASTC Decompressor to support depth parameter
2018-11-01 19:22:12 -04:00
bunnei
4aa9779ae1
memory_manager: Do not MapBufferEx over already in use memory.
...
- This fixes rendering when changing areas in Super Mario Odyssey.
2018-11-01 18:57:59 -04:00
bunnei
cc1fe93297
Merge pull request #1623 from Tinob/master
...
Improve OpenGL state handling
2018-11-01 15:53:33 -04:00
FernandoS27
aee93f98f9
Fix ASTC formats
2018-11-01 13:08:19 -04:00
FernandoS27
31930a3334
Implemented ASTC 5x5
2018-11-01 13:06:24 -04:00
FernandoS27
678c18aa5c
Implement Cube Arrays
2018-11-01 11:56:19 -04:00
bunnei
9afcbba8e4
Merge pull request #1527 from FernandoS27/assert-flow
...
Assert Control Flow Instructions using Control Codes
2018-11-01 00:34:56 -04:00
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.
2018-10-31 23:29:21 -04:00
bunnei
86e70cf302
Merge pull request #1528 from FernandoS27/assert-control-codes
...
Assert Control Codes Generation on Shader Instructions
2018-10-31 22:34:18 -04:00
greggameplayer
9ae972ab4e
Implement SurfaceTarget Texture2DArray
...
( needed by Mario+Rabbids Kingdom Battle )
2018-10-31 04:29:15 +01:00
Rodolfo Bogado
aca218aea0
Improve OpenGL state handling
2018-10-30 21:19:04 -03:00
ReinUsesLisp
76754f5705
video_core: Move surface declarations out of gl_rasterizer_cache
2018-10-30 16:07:20 -03:00
FernandoS27
5bb80ab009
Assert Control Codes Generation
2018-10-30 13:37:55 -04:00
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
2018-10-30 00:03:25 -04:00
bunnei
c5a849212f
Merge pull request #1580 from FernandoS27/mm-impl
...
Implemented Mipmaps
2018-10-29 22:34:00 -04:00
bunnei
0270906dbf
Merge pull request #1613 from ReinUsesLisp/gl-utils
...
video_core: Move OpenGL specific utils to its renderer
2018-10-29 13:22:14 -04:00
bunnei
5d7167dfca
Merge pull request #1610 from slashiee/dxt1-alpha
...
renderer_opengl: Enable alpha channel for DXT1 texture format
2018-10-28 21:29:43 -04:00
ReinUsesLisp
80cbd81276
video_core: Move OpenGL specific utils to its renderer
2018-10-28 22:22:30 -03:00
Rodolfo Bogado
e8b565b239
renderer_opengl: Correct bpp value for ASTC_2D_8X5_SRGB
2018-10-28 20:52:57 -03:00
FernandoS27
3aa8b644a9
Assert Control Flow Instructions using Control Codes
2018-10-28 19:16:41 -04:00
FernandoS27
dde3094058
Fixed black textures, pixelation and we no longer require to auto-generate mipmaps
2018-10-28 19:00:49 -04:00
FernandoS27
f0e902a7d6
Fixed mipmap block autosizing algorithm
2018-10-28 19:00:05 -04:00
FernandoS27
87f8181405
Fixed Invalid Image size and Mipmap calculation
2018-10-28 19:00:04 -04:00
FernandoS27
f4432b5d0c
Fixed Block Resizing algorithm and Clang Format
2018-10-28 19:00:03 -04:00
FernandoS27
258f0f5c31
Implement Mip Filter
2018-10-28 19:00:01 -04:00
FernandoS27
dc85e3bff1
Zero out memory region of recreated surface before flushing
2018-10-28 19:00:00 -04:00
FernandoS27
bbf3b2da0c
Implement Mipmaps
2018-10-28 18:59:59 -04:00
Michael
635d1e5651
Enable alpha channel for DXT1 texture format
2018-10-28 14:11:04 -07:00
Tobias
351d5a2227
Correct bpp value for ASTC_2D_8X5
2018-10-28 19:49:10 +01:00
bunnei
aa1cf608ed
Merge pull request #1601 from FernandoS27/shader-precision
...
Improved Shader accuracy on Vertex and Geometry Shaders.
2018-10-28 13:06:21 -04:00