Henrik Rydgård
d65dae7185
Depth scale functions: Clean up the naming, add a failing test
2023-02-10 14:57:45 +01:00
Henrik Rydgård
c11f7e3a5f
Fix texture alpha when texturing from full-alpha textures.
...
Fixes #16875
2023-02-02 16:13:38 +01:00
Unknown W. Brackets
06045b9459
GLES: Cache equal flag, load from cache.
2023-01-05 18:24:29 -08:00
Unknown W. Brackets
de3c2783f4
Vulkan: Reload shaders if use flags change.
2023-01-05 18:24:29 -08:00
Henrik Rydgård
ee19db091f
Add accessor for UseFlags
2022-12-13 18:27:45 +01:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
77e510bd90
GPU: Use accurate depth for depth range hack.
...
This should be easier to ensure stays well tested.
2022-12-04 19:27:23 -08:00
Henrik Rydgård
f6fcc9e9a7
Add a way to view the "GPU_USE_" flags at runtime. Useful for sanity checking on-device.
2022-11-23 16:17:41 +01:00
Unknown W. Brackets
01d7d73438
GPU: Remove unused GPU_USE flag.
2022-11-13 08:09:57 -08:00
Unknown W. Brackets
585569c2c2
TexCache: Cleanup BGRA flag dirtying.
2022-11-08 20:01:14 -08:00
Henrik Rydgård
8413473fa4
Fix more cases, GTA works now.
2022-10-27 11:05:59 +02:00
Henrik Rydgård
fb250c4b29
More multiview work
2022-10-27 11:05:58 +02:00
Henrik Rydgård
aa51bfd1ef
Use GPU "use" flags to replace IsVRBuild in the renderer. It remains elsewhere.
2022-10-17 19:57:11 +02:00
Henrik Rydgård
7c5fc3ccb5
Reorder the GPU USE flags a bit
2022-10-17 19:55:11 +02:00
Henrik Rydgård
30aa07b156
Two more renames to make things read better
2022-10-17 08:47:05 +02:00
Henrik Rydgård
9b8a5d1db3
Rename GPU_SUPPORTS_ to GPU_USE_
2022-10-17 08:47:03 +02:00
Henrik Rydgård
daca0b2109
Rename gstate_c.Supports to gstate_c.Use
2022-10-17 08:46:37 +02:00
Henrik Rydgård
d30d8bf35c
Removes the option, autodetect instead - only enable if the GPU doesn't support bitwise ops.
2022-10-11 16:09:57 +02:00
Unknown W. Brackets
58a4376998
GPU: Normalize framebuf addresses.
...
In VRAM, always store without mirror. In RAM, always store without
cache/kernel bits.
2022-10-02 21:28:53 -07:00
Unknown W. Brackets
b9b59f7806
GPU: Mask away unused bits in framebuf/zbuf ptr.
...
Lower 4 bits are ignored during rendering, and mirrors (even even the 8
bit at the top) are ignored.
2022-10-02 20:44:35 -07:00
Unknown W. Brackets
d16caa71af
Vulkan: Add geometry shader ID tracking.
...
We're still not generating them, yet. But this tracks the objects and
IDs through the pipeline.
2022-10-02 07:42:16 -07:00
Henrik Rydgård
7adba20fac
Experiment: Generate "Ubershaders" that can handle all lighting configurations
...
This drastically reduces the shader compile stutter that happens when a lot of new
light setups are created, like on the first punch in Tekken 6.
There's more stuff that might benefit from being made dynamic like this.
These branches are very cheap on modern GPUs since they're branching on
a uniform variable, so no divergence.
Only tested on Vulkan. I think we'll need to keep the old path too for
gpus like Mali-450...
2022-09-25 23:35:01 +02:00
Henrik Rydgård
287e025978
Minor cleanups around dirtying of render state
2022-09-22 09:12:58 +02:00
Henrik Rydgård
ce82fce8de
Use subpass dependencies to implement shader framebuffer read in Vulkan.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
694dbe1271
Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit.
2022-09-11 14:40:01 +02:00