Repository navigation
fix(agc): render CB_COLOR_CONTROL mode disable as a draw without color - #1414
Merged
adriadam10 merged 1 commit intoOct 8, 2026
Merged
Conversation
This was referenced Oct 8, 2026
Contributor
Author
|
Showcase before/after on the combined local branch: without this change the instanced scene's draws are skipped; with it (together with #1415) the scene renders. |
9 tasks done
shreyanshx
approved these changes
Oct 8, 2026
9 tasks done
This was referenced Oct 8, 2026
Mode 0 of CB_COLOR_CONTROL turns color writes off, but a draw with a written color target and this mode was skipped as unsupported. Count no export as written when the mode is disable, so the draw renders without a color attachment like the existing attachment-free path, and accept the mode with any ROP3, which does not apply while writes are off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
|
Checked build + full ctest on current main + this PR (457/457, |
adriadam10
force-pushed
the
fix/agc-color-control-disable
branch
from
October 8, 2026 13:16
1866fbc to
550920a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


What
CB_COLOR_CONTROL.MODE0 (disable) turns off color writes. It was accepted only when no color target was written. With a written target the draw was skipped (only normal color rendering with copy ROP is supported (CB_COLOR_CONTROL 0x00000000, mode disable)), even though the hardware writes no color in that mode.DecodeState: when the mode is disable, no export counts as written, so the draw has no color attachment and renders like the existing attachment-free path (depth only, or the screen scissor extent).colorControlSupported: mode disable is accepted with anyROP3and other bits, which do not apply while color writes are off. The draw rejection check accepts the same.agc_driver_graphics(DisabledColorTests): a written color target withCB_COLOR_CONTROL0x0 and 0xcc0000 decodes without a color attachment and keeps the scissor extent. It fails without the change.Related to #1346, which drops
COLOR_INVALIDtargets from the write mask. That PR handles disabled formats, this one the disabled mode; both touch the same check.Tested
Windows 11 Pro (26200), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release, NVIDIA GeForce RTX 5070 Ti.
agc_*andshader_*tests pass. They were run from the generatedCTestTestfile.cmakecommands, because antivirus blocksctest.exeon this machine.Not tested on AMD, Intel or Linux.
Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code