From 9467d78d380695b38f48949497f7de12c1054e81 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Tue, 24 Jan 2017 10:48:01 +0100 Subject: spirv: acknowledge multisampled input attachments Reviewed-by: Lionel Landwerlin --- src/compiler/spirv/spirv_to_nir.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/compiler') diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 28ab5f1e6ff..aecda172717 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -854,8 +854,12 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode, val->type->access_qualifier = SpvAccessQualifierReadWrite; if (multisampled) { - assert(dim == GLSL_SAMPLER_DIM_2D); - dim = GLSL_SAMPLER_DIM_MS; + if (dim == GLSL_SAMPLER_DIM_2D) + dim = GLSL_SAMPLER_DIM_MS; + else if (dim == GLSL_SAMPLER_DIM_SUBPASS) + dim = GLSL_SAMPLER_DIM_SUBPASS_MS; + else + assert(!"Unsupported multisampled image type"); } val->type->image_format = translate_image_format(format); @@ -864,7 +868,8 @@ vtn_handle_type(struct vtn_builder *b, SpvOp opcode, val->type->type = glsl_sampler_type(dim, is_shadow, is_array, glsl_get_base_type(sampled_type)); } else if (sampled == 2) { - assert((dim == GLSL_SAMPLER_DIM_SUBPASS) || format); + assert((dim == GLSL_SAMPLER_DIM_SUBPASS || + dim == GLSL_SAMPLER_DIM_SUBPASS_MS) || format); assert(!is_shadow); val->type->type = glsl_image_type(dim, is_array, glsl_get_base_type(sampled_type)); -- cgit v1.2.3