summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-04-26 09:48:46 +1000
committerDave Airlie <airlied@redhat.com>2016-04-27 08:26:53 +1000
commit912ed84f83381330f0d616678878935cd2366293 (patch)
tree85168c308604567b63518e07bf275d1c223e29ee /src/gallium/auxiliary/draw
parent9013d9267ce11efc9b841816630b34cbe8820d1d (diff)
downloadexternal_mesa3d-912ed84f83381330f0d616678878935cd2366293.zip
external_mesa3d-912ed84f83381330f0d616678878935cd2366293.tar.gz
external_mesa3d-912ed84f83381330f0d616678878935cd2366293.tar.bz2
tgsi: move to using vector for system values.
For compute support some of the system values are .xyz types, so move to using a vector instead of a single channel. [airlied: squash swizzle fix from compute series]. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r--src/gallium/auxiliary/draw/draw_gs.c2
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_exec.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c
index ca03238..adba931 100644
--- a/src/gallium/auxiliary/draw/draw_gs.c
+++ b/src/gallium/auxiliary/draw/draw_gs.c
@@ -197,7 +197,7 @@ static void tgsi_gs_prepare(struct draw_geometry_shader *shader,
if (shader->info.uses_invocationid) {
unsigned i = machine->SysSemanticToIndex[TGSI_SEMANTIC_INVOCATIONID];
for (j = 0; j < TGSI_QUAD_SIZE; j++)
- machine->SystemValue[i].i[j] = shader->invocation_id;
+ machine->SystemValue[i].xyzw[0].i[j] = shader->invocation_id;
}
}
diff --git a/src/gallium/auxiliary/draw/draw_vs_exec.c b/src/gallium/auxiliary/draw/draw_vs_exec.c
index da0d1a7..fe6ad5b 100644
--- a/src/gallium/auxiliary/draw/draw_vs_exec.c
+++ b/src/gallium/auxiliary/draw/draw_vs_exec.c
@@ -107,7 +107,7 @@ vs_exec_run_linear( struct draw_vertex_shader *shader,
unsigned i = machine->SysSemanticToIndex[TGSI_SEMANTIC_INSTANCEID];
assert(i < Elements(machine->SystemValue));
for (j = 0; j < TGSI_QUAD_SIZE; j++)
- machine->SystemValue[i].i[j] = shader->draw->instance_id;
+ machine->SystemValue[i].xyzw[0].i[j] = shader->draw->instance_id;
}
for (i = 0; i < count; i += MAX_TGSI_VERTICES) {
@@ -130,19 +130,19 @@ vs_exec_run_linear( struct draw_vertex_shader *shader,
if (shader->info.uses_vertexid) {
unsigned vid = machine->SysSemanticToIndex[TGSI_SEMANTIC_VERTEXID];
assert(vid < Elements(machine->SystemValue));
- machine->SystemValue[vid].i[j] = i + j;
+ machine->SystemValue[vid].xyzw[0].i[j] = i + j;
/* XXX this should include base vertex. Where to get it??? */
}
if (shader->info.uses_basevertex) {
unsigned vid = machine->SysSemanticToIndex[TGSI_SEMANTIC_BASEVERTEX];
assert(vid < Elements(machine->SystemValue));
- machine->SystemValue[vid].i[j] = 0;
+ machine->SystemValue[vid].xyzw[0].i[j] = 0;
/* XXX Where to get it??? */
}
if (shader->info.uses_vertexid_nobase) {
unsigned vid = machine->SysSemanticToIndex[TGSI_SEMANTIC_VERTEXID_NOBASE];
assert(vid < Elements(machine->SystemValue));
- machine->SystemValue[vid].i[j] = i + j;
+ machine->SystemValue[vid].xyzw[0].i[j] = i + j;
}
for (slot = 0; slot < shader->info.num_inputs; slot++) {