VK-GL-CTS icon indicating copy to clipboard operation
VK-GL-CTS copied to clipboard

Missing coverage for PtrAccessChain on PhysicalStorageBuffer

Open nanokatze opened this issue 2 years ago • 3 comments

PtrAccessChain can be used on PhysicalStorageBuffer pointers but CTS doesn't check what implementations do. Notably, one of implementations I encountered expects ArrayStride decoration on the pointer type and blows up if it's not there (see https://github.com/KhronosGroup/SPIRV-Registry/issues/152 for more info)

nanokatze avatar Sep 05 '22 20:09 nanokatze

Thanks for reporting this, we'll want to resolve the SPIRV group first. I'll request this for the next meeting's agenda

mnetsch avatar Sep 08 '22 15:09 mnetsch

I think there are some existing tests in vktSpvAsmVariablePointersTests.cpp, such as dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.reads_opptraccesschain_single_buffer, but they may not test an array stride that doesn't match the element size (I didn't look that closely). Since these are sharing code with the variable pointers tests, we may have a similar coverage issue for variable pointers.

jeffbolznv avatar Sep 21 '22 14:09 jeffbolznv

Ooh, I see, indeed, I've been misled by comments only mentioning variable pointers. There actually is a case with ArrayStride-decorated PhysicalStoragePointer type, but there's no case without such decoration (is this usage valid?), or with ArrayStride != element size.

Should this issue be closed then, or open to track ArrayStride != element size case progress?

nanokatze avatar Sep 21 '22 15:09 nanokatze