mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 13:00:09 +01:00
spirv: Consider the sampled_image case in wa_glslang_179 workaround
Fixes: 9e440b8d0b ("spirv: Sort out the mess that is sampled image")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
943f630f8e
commit
7ae506e5b8
1 changed files with 7 additions and 2 deletions
|
|
@ -2609,8 +2609,13 @@ vtn_handle_variables(struct vtn_builder *b, SpvOp opcode,
|
|||
vtn_warn("OpStore of a sampler detected. Doing on-the-fly copy "
|
||||
"propagation to workaround the problem.");
|
||||
vtn_assert(dest->var->copy_prop_sampler == NULL);
|
||||
dest->var->copy_prop_sampler =
|
||||
vtn_value(b, w[2], vtn_value_type_pointer)->pointer;
|
||||
struct vtn_value *v = vtn_untyped_value(b, w[2]);
|
||||
if (v->value_type == vtn_value_type_sampled_image) {
|
||||
dest->var->copy_prop_sampler = v->sampled_image->sampler;
|
||||
} else {
|
||||
vtn_assert(v->value_type == vtn_value_type_pointer);
|
||||
dest->var->copy_prop_sampler = v->pointer;
|
||||
}
|
||||
} else {
|
||||
vtn_fail("Vulkan does not allow OpStore of a sampler or image.");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue