Skip to content

Conversation

@TJnotJT
Copy link
Contributor

@TJnotJT TJnotJT commented Dec 23, 2025

Description of Changes

  1. Add functions to dump HW config per draw and options within the GUI and runner to enable such dumping.
  2. Added an enum to make the pixel shader alpha test more explicit.

Rationale behind Changes

Helps with debugging/optimizing pipeline changes. For example, to see why barrier were used/not used between different draws. We already had dumping the GS config, so this adds analogous dumping for the GPU config.

Suggested Testing Steps

In the GUI enable Settings>Debug>GS>Save HW Config (alternatively use the "-dump hw" switch in the runner). Make sure frame/draw ranges and output directory are set if needed. Run a game or GS dump. The data should be dumped to files named "NNNNN_hwconfig.txt" (NNNNN being the draw number) and look like this:

topology: 2 # Triangle
require_one_barrier: 0
require_full_barrier: 0
destination_alpha: 0 # Off
datm: 2 # DATM0_RTA_CORRECTION
line_expand: 0
colormask: 0xf
ps:
  aem_fmt: 0
  pal_fmt: 0
  dst_fmt: 0 # 32bit
  depth_fmt: 0 # None
  aem: 0
  fba: 0
  fog: 0
  iip: 1
  date: 0 # None
  atst: 0 # NONE
  afail: 0 # KEEP
  fst: 0
  tfx: 0
  tcc: RGBA
  wms: 1 # 0
...

Did you use AI to help find, test, or implement this issue or feature?

Copilot for autocompletion.

}
}

std::string GSHWDrawConfig::GetPSDateName(u32 date)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lightningterror If could you check GetPSDateName() for accuracy, would be much appreciated.

Dumps HW config per draw.

Helps debugging/optimizing HW pipeline changes.
@Mrlinkwii Mrlinkwii added this to the Release 2.8 milestone Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants