KhronosGroup / Vulkan-ValidationLayers

Vulkan Validation Layers (VVL)
https://vulkan.lunarg.com/doc/sdk/latest/linux/khronos_validation_layer.html
Other
769 stars 406 forks source link

Test ICD: vkMapMemory should return a pointer aligned to the strictest alignment mentioned in the spec #8776

Open arno-lunarg opened 2 weeks ago

arno-lunarg commented 2 weeks ago

It currently does not do that, leading to unexpected alignment issues when filling shader binding tables in the ray tracing framework

ziga-lunarg commented 2 weeks ago

Should this be a CTS test?

spencer-lunarg commented 1 week ago

@ziga-lunarg no, this is an issue with our TestICD (the new Mock ICD) ... we have no plans to make a CTS conformance mock ICD and so a CTS test would not help

spencer-lunarg commented 1 week ago

@arno-lunarg what does

aligned to the strictest alignment mentioned in the spec

mean, how would TestICD determine this, another issue is things like shaderGroupBaseAlignment we set in the profile JSON and not the ICD itself

arno-lunarg commented 1 week ago

@arno-lunarg what does

aligned to the strictest alignment mentioned in the spec

mean, how would TestICD determine this, another issue is things like shaderGroupBaseAlignment we set in the profile JSON and not the ICD itself

No way to query that directly, so I would make sure the returned pointer is aligned to 8192, that should be enough

spencer-lunarg commented 1 week ago

what did 8192 come from?

arno-lunarg commented 1 week ago

Totally made up, just go for a somewhat big power of 2!