Mesa (master): draw: fix prim id float cast for non-llvm path

Roland Scheidegger sroland at kemper.freedesktop.org
Fri Aug 8 16:54:55 UTC 2014


Module: Mesa
Branch: master
Commit: 92a059d294501380d1acce793ce1a97002982147
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=92a059d294501380d1acce793ce1a97002982147

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Thu Aug  7 18:37:42 2014 +0200

draw: fix prim id float cast for non-llvm path

These values are always uints, casting them to floats does no good.
Fixes piglit glsl-1.50-geometry-primitive-id-restart tests for softpipe.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/draw/draw_gs.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c
index f622822..2b6d2a0 100644
--- a/src/gallium/auxiliary/draw/draw_gs.c
+++ b/src/gallium/auxiliary/draw/draw_gs.c
@@ -144,14 +144,10 @@ static void tgsi_fetch_gs_input(struct draw_geometry_shader *shader,
       for (slot = 0, vs_slot = 0; slot < shader->info.num_inputs; ++slot) {
          unsigned idx = i * TGSI_EXEC_MAX_INPUT_ATTRIBS + slot;
          if (shader->info.input_semantic_name[slot] == TGSI_SEMANTIC_PRIMID) {
-            machine->Inputs[idx].xyzw[0].f[prim_idx] =
-               (float)shader->in_prim_idx;
-            machine->Inputs[idx].xyzw[1].f[prim_idx] =
-               (float)shader->in_prim_idx;
-            machine->Inputs[idx].xyzw[2].f[prim_idx] =
-               (float)shader->in_prim_idx;
-            machine->Inputs[idx].xyzw[3].f[prim_idx] =
-               (float)shader->in_prim_idx;
+            machine->Inputs[idx].xyzw[0].u[prim_idx] = shader->in_prim_idx;
+            machine->Inputs[idx].xyzw[1].u[prim_idx] = shader->in_prim_idx;
+            machine->Inputs[idx].xyzw[2].u[prim_idx] = shader->in_prim_idx;
+            machine->Inputs[idx].xyzw[3].u[prim_idx] = shader->in_prim_idx;
          } else {
             vs_slot = draw_gs_get_input_index(
                shader->info.input_semantic_name[slot],




More information about the mesa-commit mailing list