[Mesa-dev] [PATCH 1/2] nir/bitmap: emit bitmap sampler definition for bitmap lowering.

Dave Airlie airlied at gmail.com
Mon Oct 15 00:48:07 UTC 2018


From: Dave Airlie <airlied at redhat.com>

The bitmap lowering code references a sampler that we never declare,
this fixes it by declaring the sampler.
---
 src/compiler/nir/nir_lower_bitmap.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/compiler/nir/nir_lower_bitmap.c b/src/compiler/nir/nir_lower_bitmap.c
index a4d9498576c..e32e1bb83c1 100644
--- a/src/compiler/nir/nir_lower_bitmap.c
+++ b/src/compiler/nir/nir_lower_bitmap.c
@@ -77,6 +77,17 @@ get_texcoord(nir_shader *shader)
    return texcoord;
 }
 
+static void
+add_sampler(nir_shader *shader,
+	    const nir_lower_bitmap_options *options)
+{
+   nir_variable *sampler = nir_variable_create(shader,
+                                               nir_var_uniform,
+                                               glsl_sampler_type(GLSL_SAMPLER_DIM_2D, false, false, GLSL_TYPE_FLOAT),
+                                               "s_bitmap");
+   sampler->data.location = options->sampler;
+}
+
 static void
 lower_bitmap(nir_shader *shader, nir_builder *b,
              const nir_lower_bitmap_options *options)
@@ -86,6 +97,7 @@ lower_bitmap(nir_shader *shader, nir_builder *b,
    nir_ssa_def *cond;
    nir_intrinsic_instr *discard;
 
+   add_sampler(shader, options);
    texcoord = nir_load_var(b, get_texcoord(shader));
 
    tex = nir_tex_instr_create(shader, 1);
-- 
2.17.2



More information about the mesa-dev mailing list