Commit Graph

3053 Commits

Author SHA1 Message Date
Henrik Rydgård
e82b7f788e Implement texture binding in draw batches. Framebuffer viewer now works in Vulkan. 2024-11-26 09:22:35 +01:00
Henrik Rydgård
e66516eb50 ImDebugger: Add ability to rename function symbols 2024-11-23 23:23:52 +01:00
Henrik Rydgård
194b2ce076 Ge Debugger: Add a framebuffer listing, along with some plumbing 2024-11-23 23:23:48 +01:00
Henrik Rydgård
294584c608 GCC/llvm: Enable a lot more warnings, error on missing return value 2024-11-04 11:54:45 +01:00
Henrik Rydgård
14bb7a6062 Reduce Windows debugger crashes on shutdown 2024-10-29 11:20:03 +01:00
Henrik Rydgård
ab1072224f Cleanup, add another GPU stat 2024-10-29 08:18:41 +01:00
Henrik Rydgård
1221a6e928 Minor code cleanups 2024-10-28 17:50:34 +01:00
Henrik Rydgård
56a164a14e Handle one more error case in presentation 2024-10-28 17:02:03 +01:00
Henrik Rydgård
1b769b61b1 Fragment shader: Don't error on bad blend eqs, instead use default eq (add) 2024-10-25 21:54:57 +02:00
Henrik Rydgård
7d24fca4e2 Crashfix when switching buffered/non-buffered with the game running 2024-10-25 12:00:28 +02:00
Henrik Rydgård
7e952ab795 Delete unused code, fix a comment. 2024-10-23 10:55:46 +02:00
Henrik Rydgård
a545d3074f Do some renaming, dedupe some strings (old commit resurrected), add an assert 2024-10-22 22:28:06 +02:00
Henrik Rydgård
f54d701a2e Decentralize the assert for AllocateAlignedMemory failures 2024-10-22 21:49:50 +02:00
Henrik Rydgård
858f37b8fc Add a couple of asserts (to make things error out earlier) 2024-10-17 21:01:58 +02:00
Henrik Rydgård
2c283fbb07 Minor cleanups, crashfixes 2024-10-14 23:57:19 +02:00
Henrik Rydgård
e9c7eaf427 Be more consistent with NotifyPresent
..
2024-10-14 14:26:44 +02:00
Henrik Rydgård
6797a24199 Texture saving: Try to limp along if memory allocation of buffer memory fails 2024-10-10 16:01:00 +02:00
Henrik Rydgård
e51c58716b Fix minor code issues flagged by PVS-Studio and reported by alphrixus. 2024-10-10 14:10:30 +02:00
Henrik Rydgård
3d31b4ac4c Fix possible framebuffer binding bug in EmuScreen 2024-10-02 16:21:53 +02:00
Henrik Rydgård
9b8f18298a Translation fixes, etc
Thanks @TotalCaesar659
2024-09-27 10:15:52 +02:00
Henrik Rydgård
027385d218
Merge pull request #19491 from hrydgard/vertex-decoder-sanity-check
DrawEngineCommon: Enforce the limit on vertex decoding
2024-09-26 00:56:40 +02:00
Henrik Rydgård
3a4defe210 DrawEngineCommon: Enforce the limit on vertex decoding
Should help #18894 which draws using a nonsense index buffer sometimes,
causing problems since we decode the whole range...
2024-09-26 00:41:01 +02:00
Henrik Rydgård
f7af5a7743 When reinterpreting color between same-sized framebuffers sharing a z-buffer, copy the Z.
Fixes socom character customization screen, #19245
2024-09-26 00:16:55 +02:00
Henrik Rydgård
702e77454a Hardware transform: Clamp the specular coefficient to 0.0 before taking the power. 2024-09-25 21:09:13 +02:00
Herman Semenov
192650f551 [Core/HLE/GPU/D3D11/GLES] Using for based loop C++17 and replaced on structured binding map C++17 2024-09-18 11:10:10 +02:00
Henrik Rydgård
42c32c5afc VertexDecoder: Don't read loop counts from memory. Improves codegen 2024-09-10 17:53:19 +02:00
Lubos
abeeeb1cbf OpenXR - Sonic rivals rendering fix 2024-08-27 08:22:58 +02:00
Lubos
3154a5fac1 OpenXR - VR camera features on any platform 2024-08-07 09:25:12 +02:00
Lubos
3a6bf77f6b OpenXR - Texts review 2024-08-05 12:45:42 +02:00
Henrik Rydgård
5926886c0c Some include cleanup, delete some obsolete code 2024-07-25 14:52:41 +02:00
Henrik Rydgård
fab034d866 Fix minor difference between ubershader and specialized vshaders 2024-07-24 20:50:33 +02:00
Henrik Rydgård
aa17f71f14
Merge pull request #19363 from hrydgard/vertex-decoder-remove-membfun
VertexDecoder: Remove member function pointers from decoding
2024-07-23 08:48:48 +02:00
Henrik Rydgård
0d8f194c65
Merge pull request #19361 from lvonasek/feature-openxr-antiflickering
OpenXR - Anti-flickering rendering flow added
2024-07-22 21:12:03 +02:00
Henrik Rydgård
6e0ec4a131 Slightly nudge down the multiplier used for float->u8 conversion in fragment shaders
Seems in lowp precision (as seen on some Android devices) this got
rounded up to 256 when multiplied by 1.0, causing the u8 to overflow, giving
us the wrong value instead of nicely rounding down to 255 with the floor
function.

Fixes #19235
2024-07-22 18:36:58 +02:00
Henrik Rydgård
43c68c4277 VertexDecoder: Remove member function pointers from decoding 2024-07-22 14:06:15 +02:00
Lubos
b70c2cfd10 OpenXR - Anti-flickering rendering flow added 2024-07-22 13:33:03 +02:00
Henrik Rydgård
fd9daf7594 Fix some minor issues found by --sanitize. Add --sanitizeub.
Unfortunately the ub (undefined behavior) sanitizer has some bugs, it doesn't
understand pointers to member functions, so can't use it in-game (due to the
vertex decoder).

Thanks Nemoumbra for the reminder.
2024-07-22 11:37:18 +02:00
Henrik Rydgård
2a82a46308
Merge pull request #19358 from hrydgard/achievement-crashfix
Two crashfixes: Achievements menu, Outrun
2024-07-22 10:46:58 +02:00
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