-
Notifications
You must be signed in to change notification settings - Fork 165
Add Access Flags for DescriptorBinding #224
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -262,6 +262,22 @@ typedef enum SpvReflectShaderStageFlagBits { | |
|
|
||
| } SpvReflectShaderStageFlagBits; | ||
|
|
||
| /*! @enum SpvReflectAccessBits | ||
|
|
||
| NOTE: A variable may be "accessed" but still have SPV_REFLECT_ACCESS_NONE | ||
| Example is if there is a OpAccessChain, but then it is never used | ||
|
|
||
| */ | ||
| typedef enum SpvReflectAccessFlagBits { | ||
| SPV_REFLECT_ACCESS_NONE = 0x00000000, | ||
| SPV_REFLECT_ACCESS_READ = 0x00000001, | ||
| SPV_REFLECT_ACCESS_WRITE = 0x00000002, | ||
| // Atomic will always also be marked as READ and WRITE | ||
| SPV_REFLECT_ACCESS_ATOMIC = 0x00000004, | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there ever a case where ATOMIC is used or checked by itself it it always inlcudes READ and WRITE? Wondering if there's a different way to express this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so I had it before as separate... #222 (comment) convinced me otherwise |
||
| } SpvReflectAccessFlagBits; | ||
|
|
||
| typedef uint32_t SpvReflectAccessFlags; | ||
|
|
||
| /*! @enum SpvReflectGenerator | ||
|
|
||
| */ | ||
|
|
@@ -440,6 +456,7 @@ typedef struct SpvReflectDescriptorBinding { | |
| SpvReflectBindingArrayTraits array; | ||
| uint32_t count; | ||
| uint32_t accessed; | ||
| SpvReflectAccessFlags access_flags; | ||
| uint32_t uav_counter_id; | ||
| struct SpvReflectDescriptorBinding* uav_counter_binding; | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -115,6 +115,7 @@ all_descriptor_bindings: | |
| block: *bv2 # | ||
| array: { dims_count: 0, dims: [] } | ||
| accessed: 1 | ||
| access_flags: 0x00000000 # NONE | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. last thing left in PR is figure out why this is not consistent with There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is and from looking at spec, this is not considered a |
||
| uav_counter_id: 4294967295 | ||
| uav_counter_binding: | ||
| type_description: *td2 | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.