zink: add some spirv builder handling for sampled image ops

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19327>
This commit is contained in:
Mike Blumenkrantz
2022-10-18 11:36:10 -04:00
committed by Marge Bot
parent dbf24c6dca
commit 6ef8470bb4
2 changed files with 17 additions and 0 deletions
@@ -1329,6 +1329,12 @@ spirv_builder_type_image(struct spirv_builder *b, SpvId sampled_type,
return get_type_def(b, SpvOpTypeImage, args, ARRAY_SIZE(args));
}
SpvId
spirv_builder_emit_sampled_image(struct spirv_builder *b, SpvId result_type, SpvId image, SpvId sampler)
{
return spirv_builder_emit_binop(b, SpvOpSampledImage, result_type, image, sampler);
}
SpvId
spirv_builder_type_sampled_image(struct spirv_builder *b, SpvId image_type)
{
@@ -1336,6 +1342,13 @@ spirv_builder_type_sampled_image(struct spirv_builder *b, SpvId image_type)
return get_type_def(b, SpvOpTypeSampledImage, args, ARRAY_SIZE(args));
}
SpvId
spirv_builder_type_sampler(struct spirv_builder *b)
{
uint32_t args[1] = {0};
return get_type_def(b, SpvOpTypeSampler, args, 0);
}
SpvId
spirv_builder_type_pointer(struct spirv_builder *b,
SpvStorageClass storage_class, SpvId type)
@@ -394,6 +394,10 @@ spirv_builder_type_image(struct spirv_builder *b, SpvId sampled_type,
SpvId
spirv_builder_type_sampled_image(struct spirv_builder *b, SpvId image_type);
SpvId
spirv_builder_type_sampler(struct spirv_builder *b);
SpvId
spirv_builder_emit_sampled_image(struct spirv_builder *b, SpvId result_type, SpvId image, SpvId sampler);
SpvId
spirv_builder_type_pointer(struct spirv_builder *b,