Commit Graph

3315 Commits

Author SHA1 Message Date
Henrik Rydgård 92938f8283 Vertex decoder, SSE opt: Use the correct store operation to store 64 bits.
The other one duplicates the bits twice and requires alignment.

Fixes #19351
2024-07-22 10:30:57 +02:00
Henrik Rydgård ef95e24169 Implement compat flag proposed in #18423, forcing readbacks in Juiced 2
In-game, there's no slowdown, and this fixes the decal editor. So it's
no use allowing readbacks to be turned off in this game.

See issue #18423
2024-07-20 11:24:24 +02:00
Henrik Rydgård 7738899434 Fix triangle strip vertex order to have a consistent provoking vertex 2024-07-17 16:12:03 +02:00
Henrik Rydgård 096985f51f Provoking vertex (software transform): Simpler solution
Simply rotate each primitive in the index buffer to simulate a different provoking vertex.

Since at this point we have already generated a plain primitive index
buffer, it's easy to manipulate like this.

An even better solution would be to generate rotated index buffers
directly during decode, although that code is super critical and does
not need more complexity..

We could now also enable this for hardware transform but I'm leaving
that for later.
2024-07-17 14:40:52 +02:00
Henrik Rydgård 6b1e57a840 We never draw non-indexed in software transform mode, so get rid of the path. 2024-07-17 14:40:52 +02:00
Henrik Rydgård 665f03ff62 Add provoking vertex to caps, flip the flag around 2024-07-17 14:40:52 +02:00
Henrik Rydgård 138193a776 Add support for the EXT_provoking_vertex Vulkan extension, allowing us to skip software transform for this case. 2024-07-17 10:41:25 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Lubos a9b5a4739e Fix math of simple stereo 2024-06-25 16:06:03 +02:00
Luboš V 27152b1e47 OpenXR - Forgotten usages 2024-06-24 19:43:17 +02:00
Luboš V dd9bc42b0a OpenXR - Remove multiview from shader 2024-06-24 19:24:46 +02:00
Henrik Rydgård ef91fa8b4f Fix code typo in NEON reinterpret cast.
Fixes #19258
2024-06-08 21:25:44 +02:00
Henrik Rydgård 8d6e96d04e Use binary search to find IR block offsets 2024-06-07 09:28:27 +02:00
Henrik Rydgård c794f4bd41 Add an unrelated comment and some casts 2024-06-05 08:35:09 +02:00
Henrik Rydgård 6ce087430b JIT-less vertex decoder: SSE/NEON-optimize ComputeSkinMatrix 2024-06-04 12:29:16 +02:00
Henrik Rydgård 083656fcc0 Merge pull request #19241 from hrydgard/optimize-vertex-dec
Optimize color conversions in non-JIT vertex decoder
2024-06-04 12:07:09 +02:00
Henrik Rydgård 9ac7054b01 Vertex decoder (non-JIT): Optimize 16-bit color decoders. 2024-06-04 10:35:31 +02:00
Lubos 7b089effa0 OpenXR - Use single VR projection matrix 2024-06-03 18:29:06 +02:00
Henrik Rydgård 7a32507ab7 Add a decode counter to vertex decoders in _DEBUG mode 2024-06-02 10:25:05 +02:00
Henrik Rydgård 87ead3f492 Fix bad framebuffer bind in Parappa The Rapper 2024-05-29 12:23:54 +02:00
Henrik Rydgård 6ed8f96e98 Indentation fix 2024-05-11 20:36:51 +02:00
Henrik Rydgård fb599cd0a6 Only use the optimized decoders if SSE or NEON is available. 2024-05-11 14:18:42 +02:00
Henrik Rydgård 6452ce8ac5 NEON-optimize the GTA vertex decoder too. 2024-05-11 14:13:29 +02:00
Henrik Rydgård 4a66f8978b Fix the GoW optimized vertex decoder, add NEON optimizations 2024-05-11 13:27:11 +02:00
Henrik Rydgård bafff7f5db Temporarily disable the custom GoW vertex decoder, it needs some work. 2024-05-11 11:11:48 +02:00
Henrik Rydgård 3526416173 Add another handwritten vertex decoder 2024-05-11 10:00:39 +02:00
Henrik Rydgård 81f1b3fd95 Make handwritten vertex decoders work with non-compiled vertex decoding 2024-05-11 10:00:35 +02:00
Henrik Rydgård afca3717ba Specialized vertex decoder for GTA 2024-05-11 10:00:35 +02:00
Henrik Rydgård 3e11e54405 Remove obsolete flag 2024-05-11 10:00:35 +02:00
Henrik Rydgård d21fef52ae Allow taking screenshots in the app menu 2024-05-10 21:10:11 +02:00
Henrik Rydgård 8ce7982d8b Increase the bad texture size threshold.
Fixes #19116
2024-05-10 13:58:03 +02:00
Henrik Rydgård 6575ba5487 Make screenshot notifications clickable (on platforms where it's possible) 2024-04-10 13:21:23 +02:00
Henrik Rydgård 22fdf6624c Merge pull request #18986 from GermanAizek/static-const-methods
[GPU] Make static and const methods if possible
2024-04-05 16:20:06 +02:00
Herman Semenov b57dab2812 [GPU] Make static and const methods if possible 2024-04-05 17:04:31 +03:00
Henrik Rydgård d0afdcd94f Merge pull request #18984 from GermanAizek/fix-flag-after-9
[GPU] Fixed bug in GEExpressionFunctions::getFieldValue with GECmdField::FLAG_AFTER_9
2024-04-04 15:51:44 +02:00
Herman Semenov 365d2d252a [GPU] Fixed bug in GEExpressionFunctions::getFieldValue with GECmdField::FLAG_AFTER_9 2024-04-03 16:09:34 +03:00
Henrik Rydgård 8960ed4d48 FramebufferManager: Allow "large offset" framebuffers priority over normal matches.
Fixes #18976
2024-04-03 00:59:36 +02:00
Henrik Rydgård c5791764d8 Make the i18n T function use std::string_view
Buildfixes, crashfixes

One more

Android buildfix

Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård c50399fa71 Fix stray line in NFS Underground Rivals
Fixes #18846
2024-02-12 18:03:39 +01:00
Henrik Rydgård 1fbf685504 Avoid vertically merging the two main framebuffers, even if FramebufferAllowLargeVerticalOffset is on. 2024-02-04 11:26:20 +01:00
Henrik Rydgård b4eecf3d5c Mali: Turn off any depth writes if depth test is set to NEVER. 2024-02-02 11:11:31 +01:00
Henrik Rydgård 6ce4933db8 Split the discard-stencil-bug flag into separate flags for Adreno and Mali 2024-02-02 11:11:31 +01:00
Henrik Rydgård a07a2e445b Fix event order and some logic. Can now change skip buffer effect while running in background. 2024-02-01 23:26:36 +01:00
Henrik Rydgård 533fa14e27 Add a stat for number of verts decoded. It's quite high but not crazy for UFC 2010...
See #18806
2024-02-01 19:19:53 +01:00
Henrik Rydgård ea180e54c9 Fix some "double-binds" of the backbuffer.
These are already eliminated by the queuerunner, but better not to
generate them in the first place, for easier sanity checks.
2024-01-30 10:44:18 +01:00
Henrik Rydgård cb79783539 Expand primitives: Check the vertex count too.
Still getting a few crashes, let's get rid of the last of them from this,
hopefully.
2024-01-28 22:48:40 +01:00
Henrik Rydgård 51097279c9 Vulkan: Fix race condition when changing MSAA mode with the game running "behind" the menu. 2024-01-23 11:28:45 +01:00
Henrik Rydgård 768520dd0e Separate out the checks for save vs replace textures more, fixing some issues 2024-01-23 01:07:31 +01:00
Henrik Rydgård c6c0d0bf42 Android memstick folder moves: Do recursive moves if in the same device. Drastically faster. 2024-01-22 16:26:29 +01:00
Henrik Rydgård 6ae9d42516 Preparations for reworking the memstick folder move functionality 2024-01-22 15:56:07 +01:00