Repository navigation
fix(android): work around A850v2 compute texture-size corruption - #11
Open
misakayuuki wants to merge 2 commits into
Open
misakayuuki wants to merge 2 commits into
misakayuuki wants to merge 2 commits into
Conversation
Contributor
|
Thanks for the careful isolation work. Two things stop this from going in as it is:
If the cause cannot be narrowed further, a quirk flag in the device table rather than a chip id in |
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.
On Adreno 850v2 (
0x44051431), DroidDeck with DD-Turnip v0.3.4 produced normal original frames alternating with black or top-left-fragmented LSFG-generated frames. A compute diagnostic isolated incorrect, workgroup-dependenttextureSize(..., 0)results: integer-coordinate copies and sampling with known dimensions worked, while sampling normalized by the queried dimensions failed. The correspondingimageSizequery returned the correct 1562 x 720 dimensions.This adds an Android-only recipe patch that lowers this specific query to the existing bindless image-size/RESINFO path. It is restricted to that chip ID, compute shaders, non-array 2D textures, two 32-bit result components, a lowered bindless texture handle, and constant LOD zero. Descriptor validity and non-uniform access flags are preserved. RESINFO can use the dimensions encoded for the view's base mip here, but does not perform GETSIZE's LOD minification, so nonzero/dynamic LOD queries are deliberately excluded.
The patch is registered in
patches/series.jsonand documented in the README. A small original GLSL diagnostic and manual instructions record the isolation procedure, evidence, and coverage limits. The underlying reason GETSIZE returns incorrect values is still unconfirmed; this is a targeted workaround.Validation
e2ab6687d5ad700cc2b856af684aa014f9dae943.glslangValidator -Vand passesspirv-val.Vulkan CTS, Linux, other GPUs, null descriptors, and nonzero view base mips have not been tested on hardware. CI still needs to check the complete patch series against current Mesa main. A separate adaptive-60-FPS application setting improved perceived latency; it is not included or claimed as a driver performance improvement.