prog_to_nir: VARYING_SLOT_PSIZ is a scalar
authorIago Toral Quiroga <itoral@igalia.com>
Wed, 4 Sep 2019 09:02:19 +0000 (11:02 +0200)
committerIago Toral <itoral@igalia.com>
Thu, 12 Sep 2019 06:40:04 +0000 (06:40 +0000)
v2: remove stray change (Erik Faye-Lund)

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/program/prog_to_nir.c

index 84ba708d0bec2d1cb7f77948c050be291dbcf5d1..5289f0cb4f2a41b9745e45228672096c6e5fc8f1 100644 (file)
@@ -841,8 +841,9 @@ ptn_add_output_stores(struct ptn_compile *c)
          src = nir_channel(b, src, 2);
       }
       if (c->prog->Target == GL_VERTEX_PROGRAM_ARB &&
-          var->data.location == VARYING_SLOT_FOGC) {
-         /* result.fogcoord is a single component value */
+          (var->data.location == VARYING_SLOT_FOGC ||
+           var->data.location == VARYING_SLOT_PSIZ)) {
+         /* result.{fogcoord,psiz} is a single component value */
          src = nir_channel(b, src, 0);
       }
       unsigned num_components = glsl_get_vector_elements(var->type);
@@ -929,7 +930,8 @@ setup_registers_and_variables(struct ptn_compile *c)
 
       nir_variable *var = rzalloc(shader, nir_variable);
       if ((c->prog->Target == GL_FRAGMENT_PROGRAM_ARB && i == FRAG_RESULT_DEPTH) ||
-          (c->prog->Target == GL_VERTEX_PROGRAM_ARB && i == VARYING_SLOT_FOGC))
+          (c->prog->Target == GL_VERTEX_PROGRAM_ARB && i == VARYING_SLOT_FOGC) ||
+          (c->prog->Target == GL_VERTEX_PROGRAM_ARB && i == VARYING_SLOT_PSIZ))
          var->type = glsl_float_type();
       else
          var->type = glsl_vec4_type();