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
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
868568a744
Postshader: Avoid treating directories as files.
2022-05-25 20:04:47 -07: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
Henrik Rydgård
66ddbe9513
Remove the rather problematic limit on framebuffer copies
2022-05-01 12:49:19 +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
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. Brackets and GitHub
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
c52a5e9e25
Fix checks for the "fake mipmap" situation.
...
Fixes #15492
2022-04-22 22:59:20 +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
Henrik Rydgård
900ff64cf1
Buildfix
2022-04-15 13:39:01 +02:00
Henrik Rydgård
3efce3ceca
Try a clang pragma to avoid overeager auto-vectorization
2022-04-15 13:26:54 +02:00
Henrik Rydgård
9e60b82c54
Buildfixing, correct NEON type usage
2022-04-15 13:19:03 +02:00
Henrik Rydgård
185b93058e
SIMD-optimize CheckMask16 / CopyAndSumMask16
2022-04-15 12:40:10 +02:00
Henrik Rydgård
c4dfbf4f1a
Delete a lot of specialized alpha checking code.
...
This was now only used to check alpha in CLUTs, and the generic functions will not actually be any slower.
2022-04-15 12:34:50 +02:00
Henrik Rydgård
a5ee1884c1
Address feedback
2022-04-15 01:08:14 +02:00
Henrik Rydgård
a3d650d3e9
One more NEON optimization
2022-04-15 01:03:55 +02:00
Henrik Rydgård
ffcfef6031
Quick NEON optimization of CheckMask32
2022-04-15 00:56:26 +02:00
Henrik Rydgård
8bc2d1a653
SSE optimize a common case for video
2022-04-15 00:56:26 +02:00
Henrik Rydgård
1dae81a98a
Yet another bugfix
2022-04-15 00:56:26 +02:00
Henrik Rydgård
a0ca968b1e
Bugfixes, handle the rest of the cases
2022-04-15 00:56:25 +02:00
Henrik Rydgård
42cd937de2
Simplification and some cleanup
2022-04-15 00:56:25 +02:00
Henrik Rydgård
613df29467
Remove redundant line
2022-04-15 00:56:25 +02:00
Henrik Rydgård
35e0bfeacc
Fix DeIndexTexture
2022-04-15 00:56:25 +02:00
Henrik Rydgård
e6df3ab23a
Comments
2022-04-15 00:56:25 +02:00
Henrik Rydgård
9f7e0978a9
AND together colors while decoding, and then check against fullAlphaMask.
2022-04-15 00:56:25 +02:00
Henrik Rydgård
584e94f01e
ARM32: Remove a lot of non-NEON fallback paths
2022-04-13 11:44:55 +02:00
Henrik Rydgård
f54ed3757c
Always use the stable quick tex hash. Doesn't actually make a difference except on new CPU archs.
2022-04-13 11:18:18 +02:00
Henrik Rydgård
e6fe31365a
Remove more function defines
2022-04-13 10:02:16 +02:00
Henrik Rydgård
a68ddd0a8d
Merge separate NEON functions into the normal functions.
...
We no longer support non-NEON ARM.
It's nice also to have the NEON and SSE implementations "close" to each
other, easier to port optimizations back and forth etc.
2022-04-12 23:43:21 +02:00