24 Commits
Author SHA1 Message Date
Brian Degenhardt 6b079a4e12 GS: add texture-cache hit/miss perfmon counters
There were no texture-cache hit/miss counters at all. Hit/miss was visible only
as GL_CACHE strings, which are compiled out unless ENABLE_OGL_DEBUG is set and
are further gated on UseDebugDevice at emit time -- so on a shipped build the
texture cache is completely opaque. For a tiler-bound title, source misses
(upload + swizzle) are a prime suspect we could not see.

Adds TCSourceHit/Miss, TCTargetHit/Miss and HashCacheHit/Miss, incremented at
the existing hit/miss forks in LookupSource and the hash cache lookup. The new
entries are appended after the ROV counters so the aliased slots
(TextureCopies = Fillrate, TextureUploads = SyncPoint) keep their indices.

Also fills in the three missing HW counter names. names_hw was declared
[CounterLastHW] but had only 10 initialisers, leaving TextureCopiesROV,
DrawCallsROV and BarriersROV as null pointers -- GSPerfMon::Dump iterates to
CounterLastHW and passed them straight to fprintf %s.
2026-07-22 21:16:44 -07:00
TJnotJTandTellowKrinkle d1cd5a62ed GS/HW: ROV revisions.
Use GSTexture::FeedbackTarget RTs by default (not GSTexture::ShaderWriteTarget).
Do ROV type conversion for both color and depth (if needed).
Make sure the formats for ROV actually support UAV/storage image.
Change 'PSSetUnorderedAccess' to 'PSSetROVs' for clarity.
DX12: Use enum names instead of raw constants in PSSetShaderResource().
Some string format cleanup to GL_*() macros.
VK: Do not enable ROV if FB fetch is available.
Other misc cosmetic changes such as whitespace, etc.

Co-authored-by: TellowKrinkle
2026-06-28 12:13:38 -04:00
TJnotJT bbcd5ec25e GS/HW: ROV support. 2026-06-03 03:26:24 +02:00
SternXD d983b2b066 Copyright: Change year from 2002-2025 to 2002-2026 2026-01-15 00:22:32 +01:00
Ty e2d3680038 GSPerfMon: Use int rather than u64 for a frame count to match the rest of the core 2025-11-24 18:07:25 -05:00
TJnotJT be1af0cd0f GS: Allow dumping draw/frames stats. 2025-11-16 21:26:10 +01:00
TheTechnician27 23fd57f641 Copyright: Change year from 2002-2024 to 2002-2025 2025-01-20 05:07:26 +01:00
GovanifY 132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Stenzek d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
refractionpcsx2 3edd508fc8 PerfMon: Fix statistics for games with idle frames 2023-12-23 19:17:01 +00:00
Stenzek d5776e8946 GSRunner: Dump/compare stats 2023-07-20 19:24:36 +10:00
Stenzek 757a9532e6 GS: Add Render Pass stats 2023-04-24 22:17:04 +01:00
Connor McLaughlin 92aea38230 GS: Reset stats on open
Fixes junk/bogus stats when switching to/from software renderer, and
when shutting down/starting a new game.
2022-06-28 20:01:42 +01:00
Connor McLaughlin 2d8a4e13e6 GS: Fix a bunch of texture copy counters not adding 2022-06-04 18:10:46 +01:00
Connor McLaughlin 1c50d3e4b3 GS: Add stat for barriers 2022-04-16 19:10:18 +01:00
Connor McLaughlin 206f80c5f4 GS: Compute SW CPU per-thread not per-draw 2022-03-17 09:10:12 +00:00
Connor McLaughlin d3152bee9c GS: Add heuristic-based internal FPS 2022-01-23 17:15:48 +00:00
TellowKrinkle af795985fc GS:SW: Allow up to 32 threads without breaking 2022-01-14 19:24:51 +01:00
Connor McLaughlin 226b0540c5 GS: Enhance stats 2022-01-02 15:06:39 +00:00
TellowKrinkle ed90e2fcf9 GS: Header cleanup 2021-11-14 13:52:20 -06:00
TellowKrinkle b74be70ffc GS: Switch integer typedefs to match rest of pcsx2
Had to capitalize the names of some struct params that had the same names
2021-11-14 13:52:20 -06:00
Gauvain 'GovanifY' Roussel-Tarbouriech 18e892f473 gs: update license headers 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech bbcfc0ff1d gs-merge: include hell, scoping, redefinitions 2021-07-03 18:16:11 -04:00
Gauvain 'GovanifY' Roussel-Tarbouriech 587a893a0e gs-merge: remove initial plugin subsystem 2021-07-03 18:16:11 -04:00