i965/fs: include multisamplers on image_intrinsic_coord_components
authorAlejandro Piñeiro <apinheiro@igalia.com>
Tue, 4 Sep 2018 11:02:57 +0000 (13:02 +0200)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Wed, 5 Sep 2018 15:02:28 +0000 (17:02 +0200)
This is the second patch needed to fix the following piglit tests:

   tests/spec/arb_gl_spirv/linker/uniform/multisampler.shader_test
   tests/spec/arb_gl_spirv/linker/uniform/multisampler-array.shader_test

Although in this case it doesn't affect so many borrowed tests, as
there aren't too many tests using multisamplers on Intel.

It is worth to note that this patch is also needed when those tests
are run on GLSL mode (using the --glsl option). Although most Intel
drivers would not be able to run/execute tests using multisamplers, as
GL_MAX_IMAGE_SAMPLES is zero, technically those tests are expected to
link correctly, so linking tests should pass.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_fs_nir.cpp

index 2fef050f81a233491126a8e6d41da297d639beec..e5215bad942ecafa54ba10976db03d31e31d6610 100644 (file)
@@ -3815,6 +3815,8 @@ image_intrinsic_coord_components(nir_intrinsic_instr *instr)
       return 3;
    case GLSL_SAMPLER_DIM_BUF:
       return 1;
+   case GLSL_SAMPLER_DIM_MS:
+      return 2 + nir_intrinsic_image_array(instr);
    default:
       unreachable("Invalid image dimension");
    }