Commit Graph

3315 Commits

Author SHA1 Message Date
Henrik Rydgård c5ad81e3d5 Add DepthRaster.cpp/h. Rasterize depth rectangles, some triangles 2024-12-21 14:27:53 +01:00
Henrik Rydgård 1c2f11a468 Buildfix 2024-12-19 16:57:57 +01:00
Henrik Rydgård d5bfc1b5eb Finish up this cleanup (move _M_SSE compat define out of Common.h) 2024-12-19 16:23:20 +01:00
Henrik Rydgård e93c80db4e Cleaning up our SIMD header includes, using the new header 2024-12-19 16:08:48 +01:00
Henrik Rydgård 5326d87f9c Rename CrossSIMD to SIMDHeader, but also keep CrossSIMD.h (will have a future use) 2024-12-19 15:15:43 +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 ee297e974d Move more code into SoftwareTransformCommon, cleanup 2024-12-18 13:57:26 +01:00
Henrik Rydgård 0b06cd1379 Actually avoid looking up the vertex decoder more than once 2024-12-17 22:42:07 +01:00
Henrik Rydgård 15b4f0c299 Lookup the decoder outside of DrawEngine 2024-12-17 19:27:01 +01:00
Henrik Rydgård 61b14df329 Delete obsolete empty function ClearTrackedVertexArrays 2024-12-17 19:15:25 +01:00
Henrik Rydgård fe4504f612 Small simplification 2024-12-17 19:15:06 +01:00
Henrik Rydgård a2a089b8c1 Remove the member function NormalizeVertices 2024-12-17 19:15:03 +01:00
Henrik Rydgård a07da939ef Some NormalizeVertices interface cleanup 2024-12-17 19:13:38 +01:00
Henrik Rydgård fec232f8a8 GPU: Move things around a little, out of DrawEngine. 2024-12-17 19:13:38 +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 b5ed3051e5 Add rudimentary block transfer visualization (in text form) 2024-12-17 11:35:04 +01:00
Henrik Rydgård db13c09c41 Add break-on-count (with rudimentary UI), break on block transfer 2024-12-17 11:24:07 +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 dda3ddf6b0 Simplifications 2024-12-15 16:09:42 +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 11dbae3457 Remove the "DispatchFlush" mechanism, not convinced it's a win 2024-12-15 13:42:05 +01:00
Henrik Rydgård 794fa28035 Small simplification 2024-12-15 13:23:34 +01:00
Henrik Rydgård 4223bcfae1 Move the ownership of GPU breakpoints to GPUCommon 2024-12-15 12:51:37 +01:00
Henrik Rydgård 638607d29a Refactor: Make GPUCommon own the framedump "recorder". 2024-12-15 12:07:44 +01:00
Henrik Rydgård 6a375b0ddc TextureReplacer: Load the ini, even if just saving. 2024-12-13 13:49:09 +01:00
Henrik Rydgård 60e244291a Enable a dockspace, so you can dock windows to the sides of the screen 2024-12-12 23:01:40 +01:00
Henrik Rydgård fa3321ca0c ImDebugger: Switch "Dear Imgui" to the Docking branch, enable the feature 2024-12-12 22:50:51 +01:00
Henrik Rydgård a858032e46 Remove obsolete accounting for time spent stepping the GE (we no longer block) 2024-12-12 18:54:46 +01:00
Henrik Rydgård 01b4eb41be Merge pull request #19719 from hrydgard/im-ge-draw-preview
ImGeDebugger framebuffer preview, plus many small changes
2024-12-11 13:04:18 +01:00
Henrik Rydgård 27122a9e64 Work on previews 2024-12-10 22:09:51 +01:00
Henrik Rydgård ec19c47b89 Add special texture hashing mode solving the Tag Force problem.
Don't want to build some complicated rule-based thing until we have more
use cases, so this is quite specialized.

See #19714
2024-12-10 19:24:20 +01:00
Henrik Rydgård 61d2459e94 Minor code cleanup 2024-12-10 19:24:02 +01:00
Henrik Rydgård c756842b7b Im Ge debugger: Gray out disabled state (state that belongs to disabled features) 2024-12-10 16:38:36 +01:00
Henrik Rydgård e1148485f1 Refactor the GE state viewers 2024-12-10 16:01:53 +01:00
Henrik Rydgård 839df81852 thread solution: initial progress 2024-12-10 01:27:25 +01:00
Henrik Rydgård b2a8b4168b Core: Minor changes to stepping (and some log changes) 2024-12-10 01:06:19 +01:00
Henrik Rydgård 5f83e48280 Move the ge debugger window back out from GPUCommon 2024-12-06 09:50:00 +01:00
Henrik Rydgård 2c8e78408b Add basic vertex data viewer (with the same flaws as the old one) 2024-12-06 09:29:12 +01:00
Henrik Rydgård 51ae6ce898 Small simplification 2024-12-05 10:55:19 +01:00
Henrik Rydgård 474e7acf54 Hook up the new (bare-bones) ImGui debug window to GPU stepping, fix stepping. 2024-12-05 00:51:59 +01:00
Henrik Rydgård 9ed8d8871e Ge stepping without wait: Tex/Prim stepping works. Draw/Single have issues. 2024-12-05 00:36:48 +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 68fdb522cb Fix small accuracy issue in through-mode 2D culling 2024-12-01 16:02:48 +01:00
Henrik Rydgård 3eef1f8738 Minor debugger update 2024-12-01 14:54:55 +01:00
Henrik Rydgård d3b6d12067 Cull through-mode 2D draws against scissor rectangle
Helps texture replacement load performance in Fate Extra CCC (it does a lot
of off-screen drawing), and may help in other situations too.
2024-12-01 14:54:55 +01:00
Henrik Rydgård 7f13bc1a34 Add new log category for texture replacements 2024-12-01 14:17:01 +01:00