3485 Commits
Author SHA1 Message Date
Henrik Rydgård 4d1da5859c Add simple way to add debug annotation in the middle of the command stream. Vulkan-only. 2022-10-13 22:39:44 +02:00
Unknown W. Brackets 2f9392083a GPU: Respect stencil state in shader blend. 2022-10-11 22:26:31 -07:00
Henrik Rydgård e0e29a1556 Merge pull request #16197 from hrydgard/more-uniform-optimization
More uniform optimization, fixes
2022-10-12 01:00:27 +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
Henrik Rydgård 901f698a10 Merge pull request #16201 from unknownbrackets/gedebugger
GE Debugger: Normalize framebuffer texture preview
2022-10-11 11:33:19 +02:00
Henrik Rydgård 804220afb1 Merge pull request #16198 from unknownbrackets/gles-stencil
Readback stencil buffer for debugger on GLES
2022-10-11 10:55:38 +02:00
Henrik Rydgård baa9451cb7 Warning fixes 2022-10-11 09:55:53 +02:00
Unknown W. Brackets 416265431b GE Debugger: Display if tex is framebuf.
Rather than guessing based on size, let's show explicitly.
2022-10-10 22:35:42 -07:00
Unknown W. Brackets 48c39543af GE Debugger: Normalize framebuffer texture preview.
Previously, we would show the render-to-texture with its original
dimensions.  While useful, this skewed the preview coordinates and was
sometimes confusing.  Additionally, depth texturing didn't preview.

This pads and subsets the texture preview so it's the right size.
2022-10-10 21:54:24 -07:00
Unknown W. Brackets fc9f200224 GE Debugger: Centralize current fb tex fetch code. 2022-10-10 21:50:53 -07:00
Unknown W. Brackets 999055791d D3D9: Remove block transfer code overrides.
We can just use Draw now.  Keep depth, though, since it applies scale.
2022-10-10 21:48:38 -07:00
Unknown W. Brackets fc68cd9457 GLES: Add debug readback of stencil data.
This allows the existing gpu.buffer.renderStencil to snapshot the state.
2022-10-10 17:09:14 -07:00
Unknown W. Brackets 59cc7a8000 GPU: Rename stencil write pipeline. 2022-10-10 16:54:29 -07:00
Henrik Rydgård 089ac9a50e Comment about VR uniforms 2022-10-10 18:02:19 +02:00
Henrik Rydgård ee46f8992e Don't use fragmentShaderInt32Support as a replacement for checking for bitwiseOps 2022-10-10 18:02:19 +02:00
Henrik Rydgård aec22491fe Don't expand alphaColorRef to 128 bytes on backends where we don't need to. 2022-10-10 18:02:01 +02:00
Henrik Rydgård d56bdcb81e Merge pull request #16196 from hrydgard/improved-render-stats
Improved stats in the Vulkan GPU profiler
2022-10-10 15:40:17 +02:00
Henrik Rydgård 32699da6df Vulkan (trivial): Fix numDraws stat when merging render passes. Shorten a name. 2022-10-10 10:06:30 +02:00
Unknown W. Brackets 1dc35b3ac4 GLES: Simplify, enable debug depth readback. 2022-10-10 01:04:57 -07:00
Unknown W. Brackets f8908c691b GLES: Use Draw for depth readback shader.
Was not working before, since the program was not being used by Draw2D.
2022-10-10 00:54:29 -07:00
Unknown W. Brackets bad4a93d3c D3D11: Correct depth readback. 2022-10-09 15:50:50 -07:00
Unknown W. Brackets 55d5dc3834 GPU: Rename readback and buffer write operations.
Avoid download/upload and pack, which don't have clear directions.
2022-10-09 13:49:41 -07:00
Unknown W. Brackets d83f736b1f D3D9: Correct depth readback. 2022-10-09 13:21:04 -07:00
Henrik Rydgård 0c4935f336 Depal from dynamic CLUT: When detecting bounds, be more conservative.
Followup to #16188 .

Further fixes the lens flare.

It confused me before that there are two sections of the track on
Sunset Drive where the sun is visible, but only on the second is the
lens flare sprite actually shown, which is rather weird.

Verified that exactly the same thing happens on hardware, so it's not a
an emulation problem! Rather seems like a glitch in the game itself.
2022-10-09 20:57:06 +02:00
Henrik Rydgård 9422b05ee3 Fix depal bounds with dynamic CLUT. Fixes lens flare glitches in Ridge Racer
With this wrong, we ended up drawing pixels that came from a DONT_CARE
init of the depal temp buffer, which was a pile of garbage on Android
and blank on PC.

Now, we seem to end up not drawing anything because the depal operation
results in transparent black into whatever is actually intended, but at
least the screen isn't full of glitches when the sun is visible on Adreno.

See issue #16083
2022-10-09 20:27:45 +02:00
Henrik Rydgård 28bc45451c Merge pull request #16184 from unknownbrackets/depth-download
GPU: Hook Gods Eater Burst avatar read
2022-10-09 16:37:42 +02:00
Henrik Rydgård 49de375bff Merge pull request #16183 from unknownbrackets/depth-usage
GPU: Ignore depth when masked and ALWAYS
2022-10-09 10:41:40 +02:00
Unknown W. Brackets ad3220f857 GLES: Hook up depth download.
Currently, only used by one hook.
2022-10-09 01:08:04 -07:00
Unknown W. Brackets d0eb14ec02 GPU: Correct sizing account on block transfer. 2022-10-09 00:54:59 -07:00
Unknown W. Brackets e7e7528fbc GPU: Consider depth buffers in block transfer.
Right now, only with an explicit flag (not yet used.)
2022-10-09 00:50:45 -07:00
Unknown W. Brackets b2ce4d2c3f GPU: Refuse to set fb_address == z_address.
We don't do it when creating framebufs either, so don't update to
matching values.
2022-10-08 17:50:18 -07:00
Unknown W. Brackets 157ffed57f D3D9: Add simple rendered CLUT handling.
I think there's still a deeper half-pixel offset issue, but this fixes
Brave Story.
2022-10-08 15:36:36 -07:00
Henrik Rydgård bf25f4b283 Shader uniforms (VK/D3D11): Fix issue where we could overwrite the fourth component padding. 2022-10-06 10:52:58 +02:00
Unknown W. Brackets 3aa863ec41 GPU: Clip against neg Z even w/o cull support.
This should fix rendering issues on Apple devices.
2022-10-06 00:34:02 -07:00
Henrik Rydgård 87d00f79da Merge pull request #16165 from unknownbrackets/geo-shader
Vulkan: Clip clamped depth in geometry shader
2022-10-06 09:18:08 +02:00
Henrik Rydgård 3da1b46104 Merge pull request #16166 from unknownbrackets/hwtess
GPU: Verify generated shader buffer length
2022-10-06 08:24:46 +02:00
Unknown W. Brackets aee2ad46a2 GPU: Verify generated shader buffer length.
Hardware tessellation + uberlighting + clamp was exceeding the buffer,
causing memory corruption.  Let's try to catch it, but also increase
buffers to be safe.
2022-10-05 21:41:09 -07:00
Unknown W. Brackets bc3d3cf9fb GPU: Optimize clip distances needed.
We only need to write one clip distance to clip clamped depth, since we
don't clamp when it needs clipping on both sides.
2022-10-05 21:17:17 -07:00
Unknown W. Brackets 14bf9d1923 Vulkan: Correct clamped Z clip when clipping neg Z.
In the geometry shader, if used, we need to output the clip distance from
the clamped Z clip or it gets lost.
2022-10-05 20:48:38 -07:00
Unknown W. Brackets 8663541403 Vulkan: Avoid max_vertices=12 if unnecessary. 2022-10-05 20:11:10 -07:00
Unknown W. Brackets 3e5c09d432 Vulkan: Clip clamped depth in geometry shader.
This corrects deformed geometry on Mali devices which don't support
user-space clipping but do support depth clamp.
2022-10-05 19:41:59 -07:00
Henrik Rydgård d6bd08cae7 Merge pull request #16162 from unknownbrackets/geo-shader
Implement negative Z clipping in geometry shader
2022-10-06 01:00:41 +02:00
Unknown W. Brackets 5d88e50201 Vulkan: Generate indices in clipping. 2022-10-04 23:04:25 -07:00
Unknown W. Brackets 8025def8d2 Vulkan: Clip to neg z in the geometry shader.
This is only used when clip distance is unsupported, such as on Mali.
2022-10-04 22:10:24 -07:00
Henrik Rydgård 362391b9d8 Fix Kurohyou again. See #9576 2022-10-04 20:56:41 +02:00
Henrik Rydgård b333695cd1 Merge pull request #16160 from unknownbrackets/vram-mirrors
GPU: Use flags to fix triggered upload/download
2022-10-04 08:45:06 +02:00
Unknown W. Brackets 9ac4523fd2 GPU: Skip matching a framebuf for RAM. 2022-10-03 20:22:27 -07:00
Unknown W. Brackets a1efed31b9 GPU: Use flags to fix triggered upload/download.
No longer using mirror hacks.
2022-10-03 20:17:25 -07:00
Henrik Rydgård 1469a32a9d Vertex decoder: Add fallback for non-SSE4.1
See #16157
2022-10-03 19:06:17 +02:00
Henrik Rydgård 973d0435c1 Fix another crash with non-buffered rendering 2022-10-03 19:02:16 +02:00