138 Commits

Author SHA1 Message Date
Stenzek
52389f48a6
GPU/HW: Fix force-round-coords with texture cache 2024-10-05 13:06:43 +10:00
Stenzek
c740fd9e11
GPU/TextureCache: Disable bilinear page upscaling by default
And fix it.
2024-10-04 14:48:10 +10:00
Stenzek
0730a361a3
GPU/HW: Fix batch shader compiling with GLSL ES 2024-10-01 21:14:58 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache 2024-09-29 13:37:47 +10:00
Stenzek
fd8f97f4d3
GPU/HW: Fix adaptive downsampling
Also rewrite shaders to improve blurring around edges of 3D objects
(e.g. FF7).

As a trade-off, the background does blur slightly less, but (imo)
it looks better overall, since you'll notice the foreground being
blurred much more than the background.
2024-09-26 13:25:53 +10:00
Stenzek
986e207cff
GPU/HW: Make batch shaders independent on resolution
Almost a 6x reduction in *compressed* shader cache size.
2024-09-22 21:06:05 +10:00
Stenzek
f9941c3f68
GPU/HW: Reduce shader dependence on global constants
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
Stenzek
0538b95d9b
GPU/HW: Reduce number of shaders/pipelines in default config
~3x speedup in shader compile time on a cold cache.
2024-09-19 22:18:58 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers 2024-09-01 22:08:31 +10:00
Stenzek
7df5764835
Data: Remove license-incompatible shaders 2024-09-01 20:01:34 +10:00
Stenzek
a2f98541b3
Misc: Slim down some header includes 2024-08-04 14:49:55 +10:00
Stenzek
2a617c505a
GPU/HW: Support using ROV for accurate blending 2024-07-23 14:46:06 +10:00
Stenzek
ef152c47a6
GPU/HW: Interpolate native texture coordinates when upscaling 2024-07-03 15:44:12 +10:00
Stenzek
34d5cdec96
GPU/HW: Expose depth buffer to internal postprocessing 2024-06-29 14:25:36 +10:00
Stenzek
1cb3e6bd49
ShaderGen: Support multiple render target output 2024-06-29 13:09:45 +10:00
Stenzek
34f20798a1
GPU/HW: Add separate 3D/2D (sprite) texture filtering 2024-06-17 15:56:56 +10:00
Stenzek
8455c9c3c6
GPU/HW: Add 'Force Round Upscaled Texture Coordinates' 2024-06-16 19:09:46 +10:00
Stenzek
1582b2ae5d
GPU/HW: Make texture filtering a fragment shadergen parameter 2024-06-16 19:09:46 +10:00
Stenzek
c1792108f4
GPU/HW: Eliminate raw texture pipeline permutations 2024-06-16 17:09:24 +10:00
Stenzek
ef69c31e9f
GPUDevice: Support transpiling shaders at compile time
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
Stenzek
74f3c8d1aa
GPU/HW: Enable feedback loops for rendering 2024-04-01 18:12:52 +10:00
Stenzek
e70f0e1bc1
GPU/HW: Use texelFetch() instead of sampler 2024-03-20 21:56:20 +10:00
Stenzek
1ab7850ed0
GPU: Rewrite deinterlacing and add adaptive/blend modes 2024-03-16 14:14:15 +10:00
Stenzek
687e212dfe
GPU/HW: Shader compile fix 2024-01-20 02:14:36 +10:00
Hugo Locurcio
cc94b76037
Add debanding option to improve gradient smoothness with truecolor
This option only has an effect if true color is also enabled.
2024-01-19 01:05:21 +01:00
Stenzek
e86cf51a48
GPU/HW: Handle palette VRAM wrapping
Fixes block colours in The Next Tetris.
2024-01-13 13:54:51 +10:00
Stenzek
5ef2ba0eb2
GPU/HW: Add fallback path for no-texture-buffers
Yay, old Mali drivers without SSBOs...
2023-12-19 22:38:36 +10:00
Stenzek
f1604db4a3
GPU/HW: Dynamically size downsampling textures 2023-12-09 22:08:14 +10:00
Stenzek
ff17444074
GPU/HW: Add framebuffer fetch blending path 2023-11-25 21:22:35 +10:00
Stenzek
585cf25ac4 GPU: Add downsample scale option 2023-09-03 17:10:40 +10:00
Stenzek
7ad1b8d093 GPU: Add wireframe rendering/overlay 2023-09-02 22:26:03 +10:00
Stenzek
e3d9ba4c99 Rewrite host GPU abstraction
- Don't have to repeat the same thing for 4 renderers.
 - Add native Metal renderer.
2023-08-20 21:55:38 +10:00
Connor McLaughlin
8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin
a9038133c8 HostDisplay: Common texture base class for all APIs 2022-10-04 00:00:56 +10:00
Connor McLaughlin
971bba07d6 GPU: Make perspective-correct color interpolation toggleable 2022-10-03 21:08:41 +10:00
Connor McLaughlin
1aa7facda8 Frontends: Pick best render API based on renderer
Stops unnecessary display recreation in big picture UI.
2022-08-26 23:30:45 +10:00
Connor McLaughlin
d2ca454576 Sync filesystem.h/path.h 2022-07-21 17:29:57 +10:00
Connor McLaughlin
70209db402 GPU/HW: Implement oversized VRAM fills in hardware
Fixes downscaling in Bugs and Taz PAL.
2021-07-21 19:24:10 +10:00
Connor McLaughlin
98af6e7228 GPU/ShaderGen: Use [unroll] for resolve loops 2021-07-11 13:08:25 +10:00
Connor McLaughlin
98f0e5908b GPU/HW: Fix incorrect UV range for upscaled direct texturing 2021-06-24 14:45:15 +10:00
Connor McLaughlin
f4242f390b GPU/HW: Use a larger epsilon for PowerVR 2021-05-25 20:01:37 +10:00
Connor McLaughlin
eaab0cc033 GPU/ShaderGen: Use smaller position epsilon on PowerVR 2021-05-25 18:42:21 +10:00
Connor McLaughlin
08876d132f GPU/HW: Don't generate always/never-discarding discard shaders
Might fix the PowerVR driver...
2021-05-25 13:38:33 +10:00
Connor McLaughlin
22d664b210 GPU/ShaderGen: Move discard to end of shader
Possible workaround for this PowerVR driver issue.
2021-04-08 03:07:10 +10:00
Connor McLaughlin
0cbba59e88 GPU/ShaderGen: Add readonly/restrict qualifier to VRAM write SSBO 2021-03-04 13:08:32 +10:00
Connor McLaughlin
837fb6128b GPU/HW: Fix mask bit when rendering with transparency and no DSB
Fixes some sprites in Bloody Roar on Mali GPUs.
2021-02-06 20:14:28 +10:00
Connor McLaughlin
701edb335a Various warning fixes 2021-02-06 19:19:55 +10:00
Connor McLaughlin
97971464d1 GPU/ShaderGen: Remove texcoord offset
Doesn't seem to be needed anymore, and causes issues in some games (e.g.
flickering polygons in Evil Dead)
2021-01-11 15:12:16 +10:00
Connor McLaughlin
3cb2cd8235 GPU: Add adaptive and box downsampling modes 2020-12-30 17:41:39 +10:00
Connor McLaughlin
e71f6aa80a GPU/HW: Improve round-trip accuracy of RGBA5551->RGBA8
Fixes smudging in some games with true colour rendering enabled.
2020-12-27 00:50:08 +10:00