[Mesa-dev] [PATCH] glsl: remove assert in lower_packed_varyings

Ilia Mirkin imirkin at alum.mit.edu
Mon Sep 11 13:37:44 UTC 2017


It's obviously misformed, and it's triggering on

dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry.int

and a few related tests, which have a geometry shader with

"in highp int target[];"

which for some reason ends up with a "smooth" interpolation. I'm not sure
what the assert is guarding against, but the pass does handle everything
properly. Remove the assert.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 src/compiler/glsl/lower_packed_varyings.cpp | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/src/compiler/glsl/lower_packed_varyings.cpp b/src/compiler/glsl/lower_packed_varyings.cpp
index 1aec7ee7dc2..db754486300 100644
--- a/src/compiler/glsl/lower_packed_varyings.cpp
+++ b/src/compiler/glsl/lower_packed_varyings.cpp
@@ -278,14 +278,6 @@ lower_packed_varyings_visitor::run(struct gl_linked_shader *shader)
           !this->needs_lowering(var))
          continue;
 
-      /* This lowering pass is only capable of packing floats and ints
-       * together when their interpolation mode is "flat".  Treat integers as
-       * being flat when the interpolation mode is none.
-       */
-      assert(var->data.interpolation == INTERP_MODE_FLAT ||
-             var->data.interpolation == INTERP_MODE_NONE ||
-             !var->type->contains_integer());
-
       /* Clone the variable for program resource list before
        * it gets modified and lost.
        */
-- 
2.13.5



More information about the mesa-dev mailing list