summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_maos.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_maos.c')
-rw-r--r--src/mesa/drivers/dri/r300/r300_maos.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_maos.c b/src/mesa/drivers/dri/r300/r300_maos.c
index 259781389f..9cdcb414be 100644
--- a/src/mesa/drivers/dri/r300/r300_maos.c
+++ b/src/mesa/drivers/dri/r300/r300_maos.c
@@ -368,6 +368,12 @@ void r300EmitArrays(GLcontext * ctx, GLboolean immd)
rmesa->state.aos[nr++].aos_reg = prog->inputs[VERT_ATTRIB_TEX0+i];
}
}
+ for (i=0;i<(_TNL_LAST_GENERIC-_TNL_FIRST_GENERIC);i++) {
+ if (InputsRead & (1<<(VERT_ATTRIB_GENERIC0+i))) {
+ RENDERINPUTS_SET( inputs_bitset, _TNL_ATTRIB_GENERIC(i) );
+ rmesa->state.aos[nr++].aos_reg = prog->inputs[VERT_ATTRIB_GENERIC0+i];
+ }
+ }
nr = 0;
} else {
RENDERINPUTS_COPY( inputs_bitset, TNL_CONTEXT(ctx)->render_inputs_bitset );
@@ -457,6 +463,14 @@ void r300EmitArrays(GLcontext * ctx, GLboolean immd)
r300->state.texture.tc_count++;
}
}
+ for (i = 0; i < (_TNL_LAST_GENERIC-_TNL_FIRST_GENERIC); i++) {
+ if (RENDERINPUTS_TEST( inputs_bitset, _TNL_ATTRIB_GENERIC(i) )) {
+ CONFIGURE_AOS(i_attrib[i], AOS_FORMAT_FLOAT,
+ VB->AttribPtr[VERT_ATTRIB_GENERIC0+i],
+ immd ? 4 : VB->AttribPtr[VERT_ATTRIB_GENERIC0+i].size,
+ count);
+ }
+ }
for(i=0; i < nr; i++)
if(r300->state.aos[i].aos_format == 2){
assert(r300->state.aos[i].aos_size == 1);