Stenzek
97700b85de
GPU/HW: Clear ROV depth on fill/copy/write
...
It wasn't being specified before, whoops.
2024-11-27 17:52:31 +10:00
Stenzek
be7a20fef2
GPU/TextureCache: Map replacement non-255 alpha to fully transparent
...
That way if during the scaling process you end up with interpolated
colours, the cutout alpha is preserved.
Ideally we'd blend it, but that tends to create more problems than it
solves on PSX.
2024-11-26 13:08:32 +10:00
Stenzek
57595c47af
GPU/TextureCache: Move replacement cache onto the GPU
...
And enforce a maximum. Should sort out the upload spam.
2024-11-25 19:37:28 +10:00
Stenzek
a804801a1b
GPU/HW: Support filtering with texture cache
2024-11-25 13:23:39 +10:00
Stenzek
0ae8fcced3
GPU/HW: Fix incorrect sampling at 1x with TC
2024-11-25 13:15:07 +10:00
Stenzek
d24e8fda83
GPU/HW: Only enable fbfetch/DSB when needed
...
Thanks Adreno...
2024-10-30 15:19:10 +10:00
Stenzek
dadc994ba8
GPU/HW: GLSL ES compile fix
2024-10-30 15:19:10 +10:00
Stenzek
6cf8ac340b
GPU/HW: Make copy/write shaders resolution independent
2024-10-27 15:15:20 +10:00
Stenzek
aa0c0068ce
GPU/HW: Move shadergen parameters to functions
2024-10-27 13:50:47 +10:00
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