-
Notifications
You must be signed in to change notification settings - Fork 407
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
gpu: Fix static array checking #8937
base: main
Are you sure you want to change the base?
gpu: Fix static array checking #8937
Conversation
CI Vulkan-ValidationLayers build queued with queue ID 312046. |
CI Vulkan-ValidationLayers build # 18150 running. |
CI Vulkan-ValidationLayers build # 18150 failed. |
CI Vulkan-ValidationLayers build queued with queue ID 312603. |
CI Vulkan-ValidationLayers build # 18154 running. |
CI Vulkan-ValidationLayers build # 18154 failed. |
CI Vulkan-ValidationLayers build queued with queue ID 312677. |
CI Vulkan-ValidationLayers build # 18158 running. |
CI Vulkan-ValidationLayers build # 18158 passed. |
5eccea6
to
76fc7ce
Compare
CI Vulkan-ValidationLayers build queued with queue ID 314115. |
CI Vulkan-ValidationLayers build # 18166 running. |
CI Vulkan-ValidationLayers build # 18166 passed. |
76fc7ce
to
464ffce
Compare
CI Vulkan-ValidationLayers build queued with queue ID 314386. |
CI Vulkan-ValidationLayers build # 18168 running. |
CI Vulkan-ValidationLayers build # 18168 failed. |
CI Vulkan-ValidationLayers build queued with queue ID 314441. |
CI Vulkan-ValidationLayers build # 18169 running. |
CI Vulkan-ValidationLayers build # 18169 passed. |
return false; | ||
} | ||
|
||
if (pointer_type->inst_.IsArray() && access_chain_inst->Length() >= 5) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comment on this 5 maybe?
return false; | ||
} | ||
|
||
const Variable* variable = module_.type_manager_.FindVariableById(access_chain_inst_->Operand(0)); | ||
const Variable* variable = module_.type_manager_.FindVariableById(access_chain_inst->Operand(0)); | ||
if (!variable) { | ||
return false; | ||
} | ||
var_inst_ = &variable->inst_; | ||
|
||
uint32_t storage_class = variable->StorageClass(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uint32_t storage_class = variable->StorageClass(); | |
const uint32_t storage_class = variable->StorageClass(); |
closes #6944
Now that GPU-AV is in a better shape, was able to actually try and re-work this logic. Tests added and re-enabled to confirm things work as expected (still some open edge cases, but will be worked out after getting some spec clarification)