You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add rich error handling for NotALogicalPointer validation errors
Provides helpful diagnostics when SPIR-V validation fails due to using
a pointer from an invalid source (like OpCompositeExtract) with memory
operations (OpLoad/OpStore) in logical addressing mode.
The error now shows:
- Which instruction cannot use the pointer
- What produced the invalid pointer
- Explanation of logical addressing mode restrictions
- The relevant SPIR-V instructions for context
= note: inlining was required due to illegal parameter type
35
35
= note: called from `member_ref_arg_broken::main`
36
36
37
-
error: error:0:0 - OpLoad Pointer <id> '$ID[%$ID]' is not a logical pointer.
37
+
error: OpLoad cannot use pointer `%38` because it was produced by OpCompositeExtract
38
38
|
39
+
= note: in SPIR-V's logical addressing mode, pointers for OpLoad must come from specific instructions like OpVariable, OpAccessChain, or OpFunctionParameter
40
+
= help: OpCompositeExtract cannot produce pointers valid for memory operations in logical addressing
0 commit comments