Mesa (arb_geometry_shader4): gs: don't jump over input array twice
Zack Rusin
zack at kemper.freedesktop.org
Fri Jul 17 03:32:05 UTC 2009
Module: Mesa
Branch: arb_geometry_shader4
Commit: 80408e05bac482e3397daba5cf1e97db8b0a09e8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=80408e05bac482e3397daba5cf1e97db8b0a09e8
Author: Zack Rusin <zackr at vmware.com>
Date: Thu Jul 16 23:36:01 2009 -0400
gs: don't jump over input array twice
---
src/gallium/auxiliary/draw/draw_gs.c | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c
index 604bf20..57c0c92 100644
--- a/src/gallium/auxiliary/draw/draw_gs.c
+++ b/src/gallium/auxiliary/draw/draw_gs.c
@@ -152,9 +152,10 @@ static void draw_fetch_geometry_input(struct draw_geometry_shader *shader,
unsigned num_vertices = num_vertices_for_prim(shader->state.input_type);
for (k = 0; k < num_primitives; ++k) {
+ debug_printf("%d) Prim\n", start_primitive + k);
for (j = 0; j < num_vertices; j++) {
int idx = ((start_primitive + k) * num_vertices + j) * inputs_from_vs;
- debug_printf("%d) Prim, %d) Input vert:\n", start_primitive, idx);
+ debug_printf("\t%d)(%d) Input vert:\n", idx, j);
for (slot = 0, vs_slot = 0; slot < shader->info.num_inputs; slot++) {
if (shader->info.input_semantic_name[slot] == TGSI_SEMANTIC_VERTICES) {
@@ -166,20 +167,20 @@ static void draw_fetch_geometry_input(struct draw_geometry_shader *shader,
else {
#if 1
debug_printf("\t%d: %f %f %f %f\n", slot,
- input[idx + vs_slot][0],
- input[idx + vs_slot][1],
- input[idx + vs_slot][2],
- input[idx + vs_slot][3]);
- assert(!util_is_inf_or_nan(input[idx + vs_slot][0]));
- assert(!util_is_inf_or_nan(input[idx + vs_slot][1]));
- assert(!util_is_inf_or_nan(input[idx + vs_slot][2]));
- assert(!util_is_inf_or_nan(input[idx + vs_slot][3]));
+ input[vs_slot][0],
+ input[vs_slot][1],
+ input[vs_slot][2],
+ input[vs_slot][3]);
+ assert(!util_is_inf_or_nan(input[vs_slot][0]));
+ assert(!util_is_inf_or_nan(input[vs_slot][1]));
+ assert(!util_is_inf_or_nan(input[vs_slot][2]));
+ assert(!util_is_inf_or_nan(input[vs_slot][3]));
#endif
- machine->Inputs[idx + slot].xyzw[0].f[j] = input[idx + vs_slot][0];
- machine->Inputs[idx + slot].xyzw[1].f[j] = input[idx + vs_slot][1];
- machine->Inputs[idx + slot].xyzw[2].f[j] = input[idx + vs_slot][2];
- machine->Inputs[idx + slot].xyzw[3].f[j] = input[idx + vs_slot][3];
+ machine->Inputs[idx + slot].xyzw[0].f[j] = input[vs_slot][0];
+ machine->Inputs[idx + slot].xyzw[1].f[j] = input[vs_slot][1];
+ machine->Inputs[idx + slot].xyzw[2].f[j] = input[vs_slot][2];
+ machine->Inputs[idx + slot].xyzw[3].f[j] = input[vs_slot][3];
++vs_slot;
}
}
More information about the mesa-commit
mailing list