From ebfe5e17ee5e484737dd7055df0f6542983473ac Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 25 Jan 2017 15:04:35 +0100 Subject: [PATCH] anv/lower_input_attachments: honor sample index parameter to subpassLoad() According to GL_KHR_vulkan_glsl, the signature of subpassLoad() is: gvec4 subpassLoad(gsubpassInput subpass); gvec4 subpassLoad(gsubpassInputMS subpass, int sample); So the multisampled case always receives an explicit sample index that we should use. The current implementation was ignoring this parameter and using gl_SampleID value instead. Fixes: dEQP-VK.pipeline.multisample_shader_builtin.sample_id.* Reviewed-by: Jason Ekstrand Cc: "17.0" (cherry picked from commit 9b25769da63999fa65a70a14194a452c49d18f3e) --- src/intel/vulkan/anv_nir_lower_input_attachments.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/intel/vulkan/anv_nir_lower_input_attachments.c b/src/intel/vulkan/anv_nir_lower_input_attachments.c index 1d6f727258a..244e7ff7ae1 100644 --- a/src/intel/vulkan/anv_nir_lower_input_attachments.c +++ b/src/intel/vulkan/anv_nir_lower_input_attachments.c @@ -100,11 +100,8 @@ try_lower_input_load(nir_function_impl *impl, nir_intrinsic_instr *load) if (image_dim == GLSL_SAMPLER_DIM_SUBPASS_MS) { tex->op = nir_texop_txf_ms; - - nir_ssa_def *sample_id = - nir_load_system_value(&b, nir_intrinsic_load_sample_id, 0); tex->src[2].src_type = nir_tex_src_ms_index; - tex->src[2].src = nir_src_for_ssa(sample_id); + tex->src[2].src = load->src[1]; } nir_ssa_dest_init(&tex->instr, &tex->dest, 4, 32, NULL); -- 2.11.0