Open fknfilewalker opened 6 days ago
RaytracingAccelerationStructure
is an opaque handle and it is not possible to place it as a push constant in SPIRV. Therefore the [vk::push_constant] attribute has no meaning and is ignored by the compiler.
Oh ok but cast from uint64 should work? At least in glsl this worked.
Casting from uint64 to AccelerationStructure is not valid in HLSL and it is not supported in Slang either. D3D does not specify that AccelerationStructure can be constructed from uint64. If we add such support in Slang, it won't be a cross-platform operation either.
I guess I could hack something together with inline spirv?
That may be possible and certainly worth a try.
The following code, produces the following error
For some reason the pushconstant is a descriptor binding (set 0, binding 1)