Repository navigation
feat(shader): decode MIMG opcode 0xb8 as image_sample_c_o_a - #8015
Merged
oneandonlydean merged 1 commit intoOct 21, 2026
Merged
Conversation
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
Contributor
|
Windows runs with GPUs, since the Windows run in the description had none. Windows 11 Home 26300, WinLibs GCC 15.2.0, Release,
AI-assisted: yes (Claude Code); results above were run on this machine. |
Merged
12 tasks done
Merged
12 tasks done
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
Death Stranding 2 (PPSA02015) stops at 61.7 s on
mainwith #5426 and #7978 when it first draws with a shader that uses MIMG opcode 0xb8:This decodes 0xb8 as
image_sample_c_o_a. LLVM's gfx1030 disassembler reads the same instruction words with bit 0 clear asimage_sample_c_o, and the_arows already onmain(0xa0, 0xa1, 0xa5, 0xa8, 0xb0) are the base opcode plus 0x80 with the adjust flag, so the new row is compare, offset and adjust on the existing sample path.The title also registers shaders with MIMG 0xc8 and 0xd8. It does not use them before its next stop, so they still throw and are not part of this PR.
Tested
Linux (Arch, GCC 16.2.1) and Windows Server 2025 (WinLibs GCC 15.2, no GPU), on
mainb6583dd with this PR; after the rebase onto e90a1d1 (no recompiler or AGC changes) the named tests pass again on NVIDIA.image_sample_gatherfails onmainwith this PR's test (unsupported MIMG opcode 0xb8) and passes with the change, 3 of 3 runs each.^image_sample_gather$|^agc_driver_image_sample_|^agc_rdna_pass on NVIDIA, RADV and lavapipe; the Windows build passes all 1683 tests.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)