[spir-v] Add is_integer flag to texture descriptors and update image type handling

This commit is contained in:
CamilleLaVey 2025-11-24 14:27:56 -04:00 committed by Caio Oliveira
parent 04e0b3147b
commit 14d3d5814b
No known key found for this signature in database
GPG key ID: AAAE6C7FD4186B0C
4 changed files with 13 additions and 2 deletions

View file

@ -30,7 +30,7 @@ enum class Operation {
Id ImageType(EmitContext& ctx, const TextureDescriptor& desc) {
const spv::ImageFormat format{spv::ImageFormat::Unknown};
const Id type{ctx.F32[1]};
const Id type{desc.is_integer ? ctx.U32[1] : ctx.F32[1]};
const bool depth{desc.is_depth};
const bool ms{desc.is_multisample};
switch (desc.type) {
@ -1377,6 +1377,7 @@ void EmitContext::DefineTextures(const Info& info, u32& binding, u32& scaling_in
.image_type = image_type,
.count = desc.count,
.is_multisample = desc.is_multisample,
.is_integer = desc.is_integer,
});
if (profile.supported_spirv >= 0x00010400) {
interfaces.push_back(id);