projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Initial multitexturing support. Old behaviour can be re-enabled by changing ifdefs...
[mesa.git]
/
src
/
mesa
/
drivers
/
dri
/
r300
/
r300_maos.c
diff --git
a/src/mesa/drivers/dri/r300/r300_maos.c
b/src/mesa/drivers/dri/r300/r300_maos.c
index ca945956b845b6f063b1992d211fd4165a75add9..547ab359b9bd83d3a2c901a4d0309a09f7d68173 100644
(file)
--- a/
src/mesa/drivers/dri/r300/r300_maos.c
+++ b/
src/mesa/drivers/dri/r300/r300_maos.c
@@
-52,6
+52,7
@@
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define DEBUG_ALL DEBUG_VERTS
#define DEBUG_ALL DEBUG_VERTS
+
#if defined(USE_X86_ASM)
#define COPY_DWORDS( dst, src, nr ) \
do { \
#if defined(USE_X86_ASM)
#define COPY_DWORDS( dst, src, nr ) \
do { \
@@
-243,6
+244,7
@@
void r300EmitArrays(GLcontext * ctx, GLboolean immd)
GLuint aa_vap_reg = 0; /* VAP register assignment */
GLuint i;
GLuint inputs = 0;
GLuint aa_vap_reg = 0; /* VAP register assignment */
GLuint i;
GLuint inputs = 0;
+
#define CONFIGURE_AOS(r, f, v, sz, cn) { \
if (RADEON_DEBUG & DEBUG_STATE) \
#define CONFIGURE_AOS(r, f, v, sz, cn) { \
if (RADEON_DEBUG & DEBUG_STATE) \
@@
-291,10
+293,15
@@
void r300EmitArrays(GLcontext * ctx, GLboolean immd)
inputs |= _TNL_BIT_FOG;
rmesa->state.aos[nr++].aos_reg = rmesa->current_vp->inputs[VERT_ATTRIB_FOG];
}
inputs |= _TNL_BIT_FOG;
rmesa->state.aos[nr++].aos_reg = rmesa->current_vp->inputs[VERT_ATTRIB_FOG];
}
+ if(ctx->Const.MaxTextureUnits > 8) { /* Not sure if this can even happen... */
+ fprintf(stderr, "%s: Cant handle that many inputs\n", __FUNCTION__);
+ exit(-1);
+ }
for (i=0;i<ctx->Const.MaxTextureUnits;i++) {
for (i=0;i<ctx->Const.MaxTextureUnits;i++) {
- if (rmesa->current_vp->inputs[VERT_ATTRIB_TEX0+i] != -1)
+ if (rmesa->current_vp->inputs[VERT_ATTRIB_TEX0+i] != -1)
{
inputs |= _TNL_BIT_TEX0<<i;
rmesa->state.aos[nr++].aos_reg = rmesa->current_vp->inputs[VERT_ATTRIB_TEX0+i];
inputs |= _TNL_BIT_TEX0<<i;
rmesa->state.aos[nr++].aos_reg = rmesa->current_vp->inputs[VERT_ATTRIB_TEX0+i];
+ }
}
nr = 0;
} else {
}
nr = 0;
} else {
@@
-321,7
+328,7
@@
void r300EmitArrays(GLcontext * ctx, GLboolean immd)
}
if (inputs & _TNL_BIT_COLOR0) {
}
if (inputs & _TNL_BIT_COLOR0) {
- int emitsize;
+ int emitsize
=4
;
if (!immd) {
if (VB->ColorPtr[0]->size == 4 &&
if (!immd) {
if (VB->ColorPtr[0]->size == 4 &&
@@
-367,6
+374,7
@@
void r300EmitArrays(GLcontext * ctx, GLboolean immd)
vic_1 |= R300_INPUT_CNTL_TC0 << i;
}
}
vic_1 |= R300_INPUT_CNTL_TC0 << i;
}
}
+
int cmd_reserved=0;
int cmd_written=0;
int cmd_reserved=0;
int cmd_written=0;