diff options
author | Jason Ekstrand <[email protected]> | 2016-07-20 19:55:51 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-07-22 16:27:35 -0700 |
commit | 7c7acf53b2ddd41d307699ebd8bf108c4478ce07 (patch) | |
tree | aa6bc9ff520aeba43608a55f13814eab1bb2502a | |
parent | 2ddefd03b748024735c106b97b9acbdab6c93766 (diff) |
spirv/nir: Add support for shadow samplers that return vec4
While SPIR-V technically doesn't support "old style" shadow, the
shadow-compare gather instruction does return a vec4 so we need to be able
to set the old_style_shadow bit in NIR.
Signed-off-by: Jason Ekstrand <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: "12.0" <[email protected]>
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 22cd2e73912..c32dfaa76ba 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -1479,7 +1479,8 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode, instr->sampler_dim = glsl_get_sampler_dim(image_type); instr->is_array = glsl_sampler_type_is_array(image_type); instr->is_shadow = glsl_sampler_type_is_shadow(image_type); - instr->is_new_style_shadow = instr->is_shadow; + instr->is_new_style_shadow = instr->is_shadow && + glsl_get_components(ret_type->type) == 1; if (has_coord) { switch (instr->sampler_dim) { |