-
Notifications
You must be signed in to change notification settings - Fork 706
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request][SPIRV] RawBuffer<T>(uint64_t)
which is the result_id of OpBitcast
#5640
Comments
It really seems like having a and maybe it would solve some weird issues like #5641 |
In this repository we are only addressing issues related to compilation of HLSL. Requests for new language features, including new Vulkan-specific intrinsics, should go through the HLSL Feature Proposal Process in microsoft/hlsl-specs. Please consider submitting a proposal there to have this request reviewed. |
Please be respectful. We are contributing to an open source project, and you get the benefits without paying. We have our own set of priorities that will not always align with yours. You will be able to get this functionality with the vk::BufferPointer proposal. We want to be careful we do not define a feature too close to the spir-v it generates. In the language of C/C++ style languages, you want an l-value of some type from a uint64 value that represents the address. You can do that by creating the bufferpointer from the uint64_t, and then using |
I've managed to wrangle exactly (minus the access chains and loading of aggregate types directly #6541 ) what I wanted here out of Proposal 0011, great thanks to Prop 0011 authors. |
Is your feature request related to a problem? Please describe.
We need a fix to #4983 before the heat death of the universe.
Describe the solution you'd like
RawBuffer<T>(addr)
to return a result_id ofOpBitcast %_ptr_PhysicalStorageBuffer_T %addr
Basically everything that
RawBufferLoad<T>
does, with theOpLoad
trimmed off.Describe alternatives you've considered
Doing a whole bunch of inline SPIR-V with hand-allocated type numbers but I don't seem to be able to declare an
%_ptr_PhysicalStorageBuffer_int = OpTypePointer PhysicalStorageBuffer %int
properly and then theOpBitcast
to use the declared type.This is what the SPIR-V looks like
for GLSL for simple types
Additional context
The text was updated successfully, but these errors were encountered: