Revert "nir: Add an option for lowering TessLevelInner/Outer to vecs"
authorJonathan Marek <jonathan@marek.ca>
Sat, 4 Jul 2020 02:10:40 +0000 (22:10 -0400)
committerJonathan Marek <jonathan@marek.ca>
Mon, 6 Jul 2020 12:48:10 +0000 (08:48 -0400)
This reverts commit d2df0761200ba9680f0d22defaa02c33fb051fcf.

The option is not used by any driver.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5744>

src/compiler/spirv/nir_spirv.h
src/compiler/spirv/vtn_variables.c

index 70f29fd104ebb82ba849beaadd63cba1808290fd..acfcc084f417d33b6b43d1e987ae5b7ef8ad337d 100644 (file)
@@ -69,12 +69,6 @@ struct spirv_to_nir_options {
     */
    bool tess_levels_are_sysvals;
 
-   /* Whether to lower TessLevelInner/Outer from their SPIR-V declarations
-    * as arrays of floats to vec4 and vec2 respectively. This is the same as
-    * LowerTessLevel in GLSL.
-    */
-   bool lower_tess_levels_to_vec;
-
    struct spirv_supported_capabilities caps;
 
    /* Address format for various kinds of pointers. */
index 51b40801091e27a2f613bbf7e9319413d6209e71..837a0abaadd391577a2786fc278e3dbff1a0de1a 100644 (file)
@@ -1620,11 +1620,6 @@ apply_var_decoration(struct vtn_builder *b,
       switch (builtin) {
       case SpvBuiltInTessLevelOuter:
       case SpvBuiltInTessLevelInner:
-         /* Since the compact flag is only valid on arrays, don't set it if
-          * we are lowering TessLevelInner/Outer to vec4/vec2. */
-         if (!b->options || !b->options->lower_tess_levels_to_vec)
-            var_data->compact = true;
-         break;
       case SpvBuiltInClipDistance:
       case SpvBuiltInCullDistance:
          var_data->compact = true;
@@ -1835,22 +1830,6 @@ var_decoration_cb(struct vtn_builder *b, struct vtn_value *val, int member,
    }
 }
 
-static void
-var_decoration_tess_level_vec_cb(
-      struct vtn_builder *b, struct vtn_value *val, int member,
-      const struct vtn_decoration *dec, void *void_var)
-{
-   struct vtn_variable *vtn_var = void_var;
-   if (dec->decoration == SpvDecorationBuiltIn) {
-      SpvBuiltIn builtin = dec->operands[0];
-      if (builtin == SpvBuiltInTessLevelOuter) {
-         vtn_var->var->type = glsl_vector_type(GLSL_TYPE_FLOAT, 4);
-      } else if (builtin == SpvBuiltInTessLevelInner) {
-         vtn_var->var->type = glsl_vector_type(GLSL_TYPE_FLOAT, 2);
-      }
-   }
-}
-
 enum vtn_variable_mode
 vtn_storage_class_to_mode(struct vtn_builder *b,
                           SpvStorageClass class,
@@ -2436,9 +2415,6 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val,
    vtn_foreach_decoration(b, val, var_decoration_cb, var);
    vtn_foreach_decoration(b, val, ptr_decoration_cb, val->pointer);
 
-   if (b->options && b->options->lower_tess_levels_to_vec)
-      vtn_foreach_decoration(b, val, var_decoration_tess_level_vec_cb, var);
-
    /* Propagate access flags from the OpVariable decorations. */
    val->pointer->access |= var->access;