Commit Graph

760 Commits

Author SHA1 Message Date
Henrik Rydgård c3897fef4c Finish up #21151
See #21151
2026-01-24 10:42:43 +01:00
Henrik Rydgård 7853881210 GPU header cleanup: Avoid including GPUCommon.h in some places 2025-11-23 20:37:37 +01:00
Henrik Rydgård 67010ff2af Split the display layout config between landscape and portrait orientations 2025-11-05 12:49:51 +01:00
Henrik Rydgård 6e00df7cfe D3D11: Fix some fallout from my previous fixes 2025-08-02 22:58:47 +02:00
Henrik Rydgård 77e894c64d Fix more D3D11 lifecycle problems. Removed some ComPtr that got in the way 2025-08-01 18:20:44 +02:00
Henrik Rydgård a5aac9c386 D3D11 stock objects: Remove unused items 2025-08-01 17:59:33 +02:00
Henrik Rydgård e0d9edc077 TextureCacheD3D11: Fix resource lifecycle 2025-08-01 17:57:52 +02:00
Henrik Rydgård e4abbd3cae DrawEngine: Fix resource lifecycle 2025-08-01 17:53:03 +02:00
Henrik Rydgård 62ff5ca81d Unit test fix part #1: Get more information 2025-06-24 15:20:50 +02:00
Henrik Rydgård 751e4fad2e Move more of GPU init to the loader thread. Some log cleanup. 2025-05-15 11:43:37 +02:00
Henrik Rydgård 4fcf5a4fab Start reordering things in the GPU init, with the goal of doing most of it on the loader thread. 2025-05-15 10:24:30 +02:00
Henrik Rydgård 8ed898c5e6 GPU: Constify VertexDecoder pointers, remove in some cases 2025-05-14 15:13:59 +02:00
Henrik Rydgård 8accc57df7 Avoid using shader blending (with framebuffer copy) if skip-buffer-effects is enabled
Fixes #20267
2025-04-17 19:18:59 +02:00
Henrik Rydgård 5d85d5ed22 Depth raster: Rename some variables, fix incorrect draw limit 2025-04-10 17:49:06 +02:00
oltolm b09eb3dd23 use ComPtr for D3D11 2025-02-17 22:58:44 +01:00
Henrik Rydgård 4aaea67766 Enable depth raster in all backends, not just Vulkan 2024-12-24 23:26:32 +01:00
Henrik Rydgård c91169e702 Restore removed <algorithm> includes.
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård df6ed8cfc9 Do some cleanup of #includes in GPU 2024-12-18 13:57:26 +01:00
Henrik Rydgård 61b14df329 Delete obsolete empty function ClearTrackedVertexArrays 2024-12-17 19:15:25 +01:00
Henrik Rydgård abb2558535 When overriding skinning in sw transform mode, don't write/restore member variables 2024-12-17 18:52:49 +01:00
Henrik Rydgård 20ecbfdf57 Pass the VertexDecoder pointer around 2024-12-17 18:24:26 +01:00
Henrik Rydgård e74101a2fb applySkinInDecode belongs in the VertexTypeID, not in the options. 2024-12-17 18:24:18 +01:00
Henrik Rydgård 111d0c872d Global rename of FBChannel to Aspect, also make it a class enum 2024-12-15 22:24:05 +01:00
Henrik Rydgård 54d18bb343 Lift some more debugging functionality into GPUCommon 2024-12-15 14:03:05 +01:00
Henrik Rydgård 190af89d9f Plumb in a GPUCommon pointer in the draw engines. (Hopefully can get rid of this later) 2024-12-15 13:53:27 +01:00
Henrik Rydgård b47c9b6dd2 Remove redundant call to SetColorUpdated 2024-12-15 13:44:35 +01:00
Henrik Rydgård 11dbae3457 Remove the "DispatchFlush" mechanism, not convinced it's a win 2024-12-15 13:42:05 +01:00
Henrik Rydgård 9e019ae246 Remove the notion of the GPU debugger being "Active". Now it's automatic. 2024-12-15 11:12:53 +01:00
Henrik Rydgård 0df2a40487 Remove the "GPUInterface" base class. Not really useful, GPUCommon is pretty much the same thing. 2024-12-02 11:12:14 +01:00
Henrik Rydgård e4adc112ff ImDebugger: Add a basic texture browser 2024-11-29 19:30:38 +01:00
Henrik Rydgård 1221a6e928 Minor code cleanups 2024-10-28 17:50:34 +01: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 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 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 0b76d443e2 D3D11 texture replacement: Support more mip levels. Fixes crash in texture pack.
Fixes #19312
2024-07-02 11:56:27 +02:00
Henrik Rydgård 22d353ec85 D3D11: Filter out useless compiler warning (about pow(-val, x)) 2024-04-09 17:38:58 +02: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 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 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 33e48e9675 OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame, fixing black screen 2023-12-11 23:05:37 +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 12a98baf59 Cleanups, make the various SubmitPrim implementations more similar 2023-10-12 11:58:48 +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 10ccbfd68c Unify the clearing of variables after a draw call 2023-10-06 15:39:59 +02:00