Commit Graph
7030 Commits
Author SHA1 Message Date
Henrik Rydgård e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Henrik Rydgård 1fd80646cb Mali driver bug workaround for driver 32+.
See #15661

Hope this small bias won't break things.
2022-07-17 22:53:10 +02:00
Henrik Rydgård 15f5ed81a7 Add a simple compat flag to workaround the Clone Wars issue, #12949
Could probably also be fixed by changing the heuristic a bit, but since
we're in heuristic land anyway and close to a release, I feel this is
the safest option.

Also sneaks in a logspam reduction
2022-07-15 11:44:51 +02:00
Henrik Rydgård 0ff8c721e4 Improve comment, variable name 2022-07-12 00:17:26 +02:00
Henrik Rydgård e52e9094ca Vulkan fragment shaders: Don't opportunistically emit "layout (early_fragment_tests)"
The purpose of this is not really for optimization, it's to get a
specific behavior that we really don't care about. Drivers are pretty
good at getting this potential performance improvement automatically
if it's possible without changing the output.

git blame says I added it, heh.

Don't think it'll make much difference one way or another, though, but
trying to reduce complexity.
2022-07-12 00:14:22 +02:00
Henrik Rydgård c5a10a5501 Tweak the Mali stencil-test workaround to work for Surf's Up. See #15016 2022-07-11 16:57:52 +02:00
Unknown W. Brackets c15c4a6967 UI: Add analog speed limit mapping.
Only shows up as a setting if mapped, to avoid cluttering settings.
2022-07-04 19:14:05 -07:00
Henrik RydgårdandGitHub 9ffb248e59 Merge pull request #15646 from unknownbrackets/report-vertex
Reporting: Log when vertex count truncated
2022-07-04 23:23:36 +02:00
Unknown W. Brackets efacbddaef Reporting: Log when vertex count truncated. 2022-07-04 13:22:17 -07:00
Henrik Rydgård cd92151de7 Add ARM64_NEON compile arch flag
This allows doing ARM64 builds without NEON support, and allows simplifying some checks.
2022-06-25 07:29:20 +02:00
Henrik Rydgård 8922be2015 Out of performance paranoia, limit the Mali workaround to known affected games 2022-06-19 01:48:37 +02:00
Henrik Rydgård d0ea3b3284 Work around the Mali stencil discard bug the same way as the Adreno one. 2022-06-18 14:23:09 +02:00
Henrik Rydgård 63fdb99ca2 Shaun White Snowboarding: Use compat flag to eliminate a readback per frame
Should be a good performance improvement.

Just another case of a game copying a framebuffer to RAM, then texturing
directly from it.
2022-06-11 12:00:06 +02:00
Henrik Rydgård 751afde7c9 Echochrome lines: Remove UV offsets, avoid reading the destination (much better codegen) 2022-06-11 11:22:29 +02:00
Henrik Rydgård c82d8a04e0 Add centered line drawing for Echochrome. 2022-06-11 00:20:35 +02:00
Henrik Rydgård 493c17647a Take the absolute value when measuring pixel size for line expansion.
Fixes issues in Echochrome. Though still doesn't look fantastic.
2022-06-11 00:03:40 +02:00
Unknown W. Brackets feddff8299 GLES: Fix sw transform flip in skip buffer mode.
Was causing some things to be drawn in the wrong places and upside down.
2022-06-05 11:31:07 -07:00
Henrik RydgårdandGitHub d91902512d Merge pull request #15554 from unknownbrackets/shader-vfs
Postshader: Avoid treating directories as files
2022-05-26 18:28:34 +02:00
Unknown W. Brackets 868568a744 Postshader: Avoid treating directories as files. 2022-05-25 20:04:47 -07:00
Unknown W. Brackets a60d27a4f3 GPU: Fix skip buffer effects rendering.
Broken by blue-to-alpha changes.  Without calling SetRenderFramebuffer, we
were never reconsidering the initial SKIPDRAW_NON_DISPLAYED_FB flag and
all drawing was getting skipped.
2022-05-22 12:24:03 -07:00
Unknown W. Brackets b60b1e84b2 softgpu: Correct stencil debugging.
Fixes crashes in GE debugger when viewing stencil.
2022-05-08 14:26:25 -07:00
Unknown W. Brackets 9367ce82ac softgpu: Fix viewport flag clean/dirty.
Fixes Split/Second effects, see #15501.
2022-05-08 14:24:21 -07:00
Henrik Rydgård c955246499 Fix shader blending regression (Vulkan) 2022-05-03 00:38:58 +02:00
Henrik Rydgård 62808b89ef Fix discrepancy in how the LMODE flag is calculated between VS and FS 2022-05-03 00:06:42 +02:00
Unknown W. Brackets 42d7226413 Vulkan: Correct size for tex mip level readback.
Used by the GE debugger to display the texture levels.
2022-05-01 15:23:57 -07:00
Henrik RydgårdandGitHub 1dead5f095 Merge pull request #15515 from hrydgard/remove-framebuffer-read-limit
Remove the rather problematic limit on framebuffer copies
2022-05-01 13:41:35 +02:00
Henrik RydgårdandGitHub 7c6c59976c Merge pull request #15514 from hrydgard/vulkan-barrier-optimizations
Vulkan barrier optimizations
2022-05-01 13:39:01 +02:00
Henrik Rydgård 66ddbe9513 Remove the rather problematic limit on framebuffer copies 2022-05-01 12:49:19 +02:00
Henrik Rydgård d30024cc88 Vulkan: Follow sampler best practices with auto max quality. 2022-05-01 10:20:11 +02:00
Henrik Rydgård 5868cf0f1c Convert the blueToAlpha bool to a usageFlag. KEEP instead of CLEAR for depth during reinterpret. 2022-04-30 18:17:29 +02:00
Henrik Rydgård f5e519ed4b Oops, gotta update the cached framebuffer format in the other drawing paths too 2022-04-30 18:17:17 +02:00
Henrik Rydgård 6b2dec91b5 Finish BlueToAlpha functionality 2022-04-30 18:17:17 +02:00
Henrik Rydgård 0c66087cc7 BlueToAlpha hack to avoid clearing the envmap in split/second :( 2022-04-30 18:17:17 +02:00
Henrik Rydgård 462972f7ea Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF.
This is used by several games to render to the alpha channel of RGBA4444
images, which cannot normally be done directly on the PSP.

Can be used as a far more efficient replacement for
ReinterpretFramebuffers/ShaderColorBitmask
2022-04-30 18:17:16 +02:00
Henrik Rydgård 7be86264d0 Move framebufFormat to gstate_c, so we can override it 2022-04-30 18:16:09 +02:00
Henrik Rydgård 5a1ab67cf8 Dirty more state after reinterpret 2022-04-30 18:15:14 +02:00
Henrik Rydgård 6bc7a699fe Minor cleanups in framebuffer manager 2022-04-30 18:14:53 +02:00
Unknown W. Brackets 8779421a3e GLES: Reverse alphamask when comparing to CLUT.
The CLUT is already reversed.
2022-04-25 08:54:02 -07:00
Unknown W. BracketsandGitHub ec05bce068 Merge pull request #15502 from hrydgard/gran-turismo-regression-fix
Simplify alphasum checking for DXT textures, and fix a regression
2022-04-24 17:23:59 -07:00
Henrik Rydgård 35e7affa3e Simplify alphasum checking for DXT textures, and fix a regression
Got some weird blackness in the sky in Gran Turismo. This fixes that.
2022-04-25 00:54:47 +02:00
Henrik Rydgård 32df78a2cc Make the existing ReinterpretFramebuffers/ShaderColorBitmask path work for Split/Second
It took writing and debugging #15500 for me to understand what the issue with the old path was..

Much simpler alternative to #15500, or we could merge both but disable Split/Second
for this one. Needs some benchmarks I guess...
2022-04-25 00:11:09 +02:00
Henrik Rydgård 3d4c4aa5b5 Fix regression with CLUT16 textures. See #12188 2022-04-24 00:43:15 +02:00
Henrik Rydgård ed7dfdc8ad Fix mip level bug in Vulkan texture cache. 2022-04-23 22:51:11 +02:00
Henrik Rydgård c52a5e9e25 Fix checks for the "fake mipmap" situation.
Fixes #15492
2022-04-22 22:59:20 +02:00
Unknown W. Brackets 34d0acac4e Vulkan: Save textures using a memory copy. 2022-04-17 20:55:39 -07:00
Unknown W. Brackets 39d6dc1740 Vulkan: Allow saving const tex levels.
This might be used for fonts, for example.  They could be replaced, so no
reason not to export.
2022-04-17 20:06:03 -07:00
Henrik Rydgård dffc1a9196 Add the slow comment to one more place 2022-04-18 00:40:49 +02:00
Henrik Rydgård b1af940d8e Save textures on background tasks when texture dumping is enabled.
Should help #15478, at least a bit.
2022-04-18 00:26:35 +02:00
Henrik Rydgård 3a09c85fb1 Fix hang when choosing "Skip" in first-time init. Warning fix, comment add.
Fixes #15011
2022-04-17 23:02:37 +02:00
Henrik Rydgård a31608e557 Crashfix 2022-04-15 19:59:24 +02:00