spirv-val: Fix Offset not checking if in struct#6701
Conversation
|
|
||
| if (target->opcode() != spv::Op::OpDecorationGroup) { | ||
| if (IsMemberDecorationOnly(decoration)) { | ||
| // SPIR-V spec bug? (...example lost in time) |
There was a problem hiding this comment.
... not sure where this is coming from, probably something when someone gets to #6594
There was a problem hiding this comment.
... guess the smoke test found more
@alan-baker what do you want to do here, clearly something is wrong as the Offset is not following the
unless it was modified for all these various extension cases, but I guess don't understand what
layout(binding = 0, offset = 4) uniform atomic_uint countArr[4];
even means and where the memory for these offsets are all defined
There was a problem hiding this comment.
You'll want to double check this PR against CTS. I remember the lack of spec language and existing tests was frustrating.
There was a problem hiding this comment.
| } | ||
|
|
||
| TEST_F(ValidateSpvEXTDescriptorHeap, BufferPointerEXTLayout) { | ||
| // TODO - Seems like VUID-StandaloneSpirv-Result-11346 is wrong because |
There was a problem hiding this comment.
https://gitlab.khronos.org/vulkan/vulkan/-/issues/4837
something is wrong here
| OpMemberDecorate %U 0 Offset 0 | ||
| OpDecorateId %_runtimearr_17 ArrayStrideIdEXT %18 | ||
| OpDecorate %_ptr_UniformConstant Offset 0 | ||
| ; OpDecorate %_ptr_Uniform Offset 0 |
There was a problem hiding this comment.
Agree this shouldn't be there.
%_runtimearr_17 and %U do need explicit layouts (and have it). The pointers should not be laid out though.
|
|
||
| if (target->opcode() != spv::Op::OpDecorationGroup) { | ||
| if (IsMemberDecorationOnly(decoration)) { | ||
| // SPIR-V spec bug? (...example lost in time) |
There was a problem hiding this comment.
You'll want to double check this PR against CTS. I remember the lack of spec language and existing tests was frustrating.
|
Looking at the dxc smoketest results, apparently this is needed for meshing shading too. |
closes #6696
seems we currently were also just not validating
Offsetas well