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
f6aa86dfee
Add a comment
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
Henrik Rydgård
3e11e54405
Remove obsolete flag
2024-05-11 10:00:35 +02:00
Henrik Rydgård
a3d0cb1f12
Switch away from TransitionImageLayout2
2024-04-06 17:12:32 +02:00
Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +03:00
Henrik Rydgård
9322b4c6dc
Warning fix, some paranoid zero init
2024-02-12 18:33:38 +01:00
Henrik Rydgård
d479b74ed9
v1.17.1
2024-02-04 14:08:02 +01:00
Henrik Rydgård
c0bc6446dd
Improve assert, cleanup
2024-02-01 16:33:01 +01:00
Henrik Rydgård
c5191cad4c
Disable 16-bit textures on PowerVR.
...
Fixes #18780
2024-01-29 15:48:27 +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
493122a2fc
v1.17
2024-01-27 14:48:00 +01:00
Henrik Rydgård
22e91c98db
More asserts
2024-01-24 11:36:25 +01:00
Henrik Rydgård
0d2e5c32ab
More sanity checks
2024-01-24 00:50:32 +01:00
Henrik Rydgård
2e16fd3bcc
Fix fake game ID generation to work with scoped storage
2024-01-23 01:06:56 +01:00
Henrik Rydgård
0bf7a98aff
Replace DrainAndBlockCompileThreads with StopThreads, and same for resuming.
2024-01-22 11:06:50 +01:00
Henrik Rydgård
74f5be02a1
GameInfo: Try to reduce the locking a bit.
2024-01-18 22:52:56 +01:00
Henrik Rydgård
db94b0b696
Pass the limit on the number of indices to generate to BuildDrawingParams.
2024-01-15 10:09:04 +01:00
Henrik Rydgård
341fe04f4b
Apply nearest filter for pixel-mapped draws
2024-01-11 12:56:03 +01:00
Henrik Rydgård
0b6ea4b2e5
Use the Tokimeki / old Juiced 2 method for Breath of Fire III
...
Allows us to delete a bunch of complex code.
2024-01-11 10:44:13 +01:00
Henrik Rydgård
b4fe03de8b
Better solution, still pretty much optimal.
2024-01-10 18:14:59 +01:00
Henrik Rydgård
d0817c4c0a
Vulkan: Fix trying to compare uninitialized parts of packed descriptors
...
Found by Valgrind.
Other minor cleanup, too.
2024-01-10 12:10:20 +01:00
Henrik Rydgård
126d88ecfc
Back out clearly inconsequential/useless .reserve() calls
2023-12-29 08:27:56 +01:00
Henrik Rydgård
61acce195c
Avoid decoding indices when we don't need them.
2023-12-20 14:25:19 +01:00
Herman Semenov
0748ce610f
[GPU/Common/D3D11/Directx9/GLES/Vulkan] Using reserve if possible
2023-12-15 14:08:22 +03:00
Henrik Rydgård
ebaebf5945
Merge pull request #18546 from GermanAizek/make-smart-ptr
...
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointers using C++17 std::make_*
2023-12-14 14:02:55 +01:00
Henrik Rydgård
b78c7ad470
Merge pull request #18545 from GermanAizek/const-ref-params
...
Objects in function parameters have been replaced with constant references
2023-12-14 13:49:33 +01:00
Herman Semenov
08070e7f31
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointer using C++17 std::make_*
2023-12-14 15:44:16 +03:00
Herman Semenov
3d422b11c0
[GPU Common Vulkan/UI/Windows Debugger] Added const reference for function params
2023-12-14 14:23:31 +03:00
Henrik Rydgård
f2da5dafd1
Use the universally supported Vulkan "565" 16-bit texture format
...
Previously mistakenly used the BGR format instead of the RGB.
Probably won't make much of a difference for anything, but may affect #17881
if my theory about it is correct.
Also minor cleanups.
2023-12-12 18:19:29 +01:00
Henrik Rydgård
71aaad23fb
Fix issue with zero-vertex draw calls. Though, should maybe just filter them out earlier.
2023-12-10 12:21:07 +01:00
Henrik Rydgård
aca3bbc9a0
DrawEngine: Remove the confusing MaxIndex accessor, replace with directly reading numDecodedVerts_
2023-12-10 11:58:47 +01:00
Henrik Rydgård
36a2174ac0
Vulkan: Add indicator of swizzle mode to texture debug names
2023-12-07 10:35:04 +01:00
Henrik Rydgård
5373b8c5b3
Fix double-free problem in "low-memory" texture fallback (Vulkan)
2023-12-04 19:47:20 +01:00
Henrik Rydgård
dd032dc533
Delete two unused structs
2023-11-11 10:55:54 +01:00
Henrik Rydgård
f842f16fbe
Inline "DecodeVertexToPushPool" for ease of change.
2023-10-12 11:58:49 +02:00
Henrik Rydgård
12a98baf59
Cleanups, make the various SubmitPrim implementations more similar
2023-10-12 11:58:48 +02:00
Henrik Rydgård
f769b2c8a3
Remove unused functionality from descpool
2023-10-11 12:29:57 +02:00
Henrik Rydgård
0ad2827e14
Vulkan: Fix synchronization when shutting the GPU down in-game.
2023-10-11 12:27:39 +02:00
Henrik Rydgård
183d49329a
Allow writing directly into the packed descriptor buffer, saving a memcpy.
2023-10-11 11:02:17 +02:00
Henrik Rydgård
2ac14f555d
Remove VulkanPushBuffer (keeping our newer replacement VulkanPushPool)
2023-10-11 09:06:24 +02:00
Henrik Rydgård
e4ea4831e9
Delete the vertex cache option from the code.
2023-10-10 15:43:43 +02:00
Henrik Rydgård
3d949b080d
Prepare VulkanDescSetPool for block allocation
2023-10-10 09:14:10 +02:00
Henrik Rydgård
9c1c09ff5c
Remove commented out code
2023-10-10 09:02:35 +02:00
Henrik Rydgård
ba4d1668ce
Don't forget to update descCount in tess mode
2023-10-10 09:02:35 +02:00
Henrik Rydgård
af47ad035d
Also use the new descriptor mechanism for in-game
2023-10-10 09:00:29 +02:00
Henrik Rydgård
ced821169e
Bump shader cache versions
2023-10-09 19:39:25 +02:00