Modifying to build against current Mesa. Disabled r200*.c files since they didnt want to build anymore.

This commit is contained in:
Aapo Tahkola 2005-04-24 09:08:31 +00:00
parent 5c906924ed
commit 6ffd0a4cf1
12 changed files with 159 additions and 121 deletions

View File

@ -38,30 +38,30 @@ DRIVER_SOURCES = \
r300_texprog.c \ r300_texprog.c \
r300_vertexprog.c \ r300_vertexprog.c \
r300_shader.c \ r300_shader.c \
r300_maos.c \ r300_maos.c
\ # \
r200_context.c \ # r200_context.c \
r200_ioctl.c \ # r200_ioctl.c \
r200_state.c \ # r200_state.c \
r200_state_init.c \ # r200_state_init.c \
r200_cmdbuf.c \ # r200_cmdbuf.c \
r200_pixel.c \ # r200_pixel.c \
r200_tex.c \ # r200_tex.c \
r200_texmem.c \ # r200_texmem.c \
r200_texstate.c \ # r200_texstate.c \
r200_tcl.c \ # r200_swtcl.c \
r200_swtcl.c \ # r200_maos.c \
r200_maos.c \ # r200_sanity.c \
r200_sanity.c \ # r200_vtxfmt.c \
r200_vtxfmt.c \ # r200_vtxfmt_c.c \
r200_vtxfmt_c.c \ # r200_vtxfmt_sse.c \
r200_vtxfmt_sse.c \ # r200_vtxfmt_x86.c
r200_vtxfmt_x86.c
C_SOURCES = $(COMMON_SOURCES) $(DRIVER_SOURCES) C_SOURCES = $(COMMON_SOURCES) $(DRIVER_SOURCES)
X86_SOURCES = r200_vtxtmp_x86.S X86_SOURCES =
#r200_vtxtmp_x86.S
SYMLINKS = \ SYMLINKS = \
server/radeon_dri.c \ server/radeon_dri.c \

View File

@ -109,7 +109,7 @@ static const struct tnl_pipeline_stage *r300_pipeline[] = {
/* Try and go straight to t&l /* Try and go straight to t&l
*/ */
&_r300_tcl_stage, //&_r300_tcl_stage,
/* Catch any t&l fallbacks /* Catch any t&l fallbacks
*/ */
@ -293,7 +293,9 @@ GLboolean r300CreateContext(const __GLcontextModes * glVisual,
tcl_mode = driQueryOptioni(&r300->radeon.optionCache, "tcl_mode"); tcl_mode = driQueryOptioni(&r300->radeon.optionCache, "tcl_mode");
if (driQueryOptionb(&r300->radeon.optionCache, "no_rast")) { if (driQueryOptionb(&r300->radeon.optionCache, "no_rast")) {
fprintf(stderr, "disabling 3D acceleration\n"); fprintf(stderr, "disabling 3D acceleration\n");
#if R200_MERGED
FALLBACK(&r300->radeon, RADEON_FALLBACK_DISABLE, 1); FALLBACK(&r300->radeon, RADEON_FALLBACK_DISABLE, 1);
#endif
} }
if (tcl_mode == DRI_CONF_TCL_SW || if (tcl_mode == DRI_CONF_TCL_SW ||
!(r300->radeon.radeonScreen->chipset & RADEON_CHIPSET_TCL)) { !(r300->radeon.radeonScreen->chipset & RADEON_CHIPSET_TCL)) {

View File

@ -658,7 +658,7 @@ do { \
if (1 || RADEON_DEBUG & DEBUG_FALLBACKS) \ if (1 || RADEON_DEBUG & DEBUG_FALLBACKS) \
fprintf(stderr, "%s: fallback:%s\n", \ fprintf(stderr, "%s: fallback:%s\n", \
__FUNCTION__, #expr); \ __FUNCTION__, #expr); \
stage->active = GL_FALSE; \ /*stage->active = GL_FALSE*/; \
return; \ return; \
} \ } \
} while(0) } while(0)
@ -673,7 +673,7 @@ static void r300_check_render(GLcontext *ctx, struct tnl_pipeline_stage *stage)
/* We only support rendering in hardware for now */ /* We only support rendering in hardware for now */
if (ctx->RenderMode != GL_RENDER) { if (ctx->RenderMode != GL_RENDER) {
stage->active = GL_FALSE; //stage->active = GL_FALSE;
return; return;
} }
@ -724,13 +724,15 @@ static void dtr(struct tnl_pipeline_stage *stage)
(void)stage; (void)stage;
} }
GLboolean r300_create_render(GLcontext *ctx, struct tnl_pipeline_stage *stage){
return GL_TRUE;
}
const struct tnl_pipeline_stage _r300_render_stage = { const struct tnl_pipeline_stage _r300_render_stage = {
"r300 hw rasterize", "r300 hw rasterize",
_NEW_ALL, /* re-check (always re-check for now) */ NULL,
0, /* re-run (always runs) */ r300_create_render,
GL_TRUE, /* active */
0, 0, /* inputs (set in check_render), outputs */
0, 0, /* changed_inputs, private */
dtr, /* destructor */ dtr, /* destructor */
r300_check_render, /* check */ r300_check_render, /* check */
r300_run_render /* run */ r300_run_render /* run */
@ -760,24 +762,21 @@ static void r300_check_tcl_render(GLcontext *ctx, struct tnl_pipeline_stage *sta
/* We only support rendering in hardware for now */ /* We only support rendering in hardware for now */
if (ctx->RenderMode != GL_RENDER) { if (ctx->RenderMode != GL_RENDER) {
stage->active = GL_FALSE; //stage->active = GL_FALSE;
return; return;
} }
if(VERTPROG_ACTIVE(ctx)) { if(VERTPROG_ACTIVE(ctx)) {
stage->active = GL_TRUE; //stage->active = GL_TRUE;
stage->inputs = ctx->VertexProgram.Current->InputsRead; //stage->inputs = ctx->VertexProgram.Current->InputsRead;
} else { } else {
stage->active = GL_FALSE; //stage->active = GL_FALSE;
} }
} }
const struct tnl_pipeline_stage _r300_tcl_stage = { const struct tnl_pipeline_stage _r300_tcl_stage = {
"r300 tcl", "r300 tcl",
_NEW_ALL, /* re-check (always re-check for now) */ NULL,
0, /* re-run (always runs) */ r300_create_render,
GL_TRUE, /* active */
0, 0, /* inputs (set in check_render), outputs */
0, 0, /* changed_inputs, private */
dtr, /* destructor */ dtr, /* destructor */
r300_check_tcl_render, /* check */ r300_check_tcl_render, /* check */
r300_run_tcl_render /* run */ r300_run_tcl_render /* run */

View File

@ -526,7 +526,9 @@ static void r300Enable(GLcontext* ctx, GLenum cap, GLboolean state)
~R300_RB3D_STENCIL_ENABLE; ~R300_RB3D_STENCIL_ENABLE;
} }
} else { } else {
#if R200_MERGED
FALLBACK(&r300->radeon, RADEON_FALLBACK_STENCIL, state); FALLBACK(&r300->radeon, RADEON_FALLBACK_STENCIL, state);
#endif
} }
break; break;

View File

@ -1302,7 +1302,10 @@ static GLboolean update_tex_common(GLcontext * ctx, int unit)
} }
} }
#if R200_MERGED
FALLBACK(&rmesa->radeon, RADEON_FALLBACK_BORDER_MODE, t->border_fallback); FALLBACK(&rmesa->radeon, RADEON_FALLBACK_BORDER_MODE, t->border_fallback);
#endif
return !t->border_fallback; return !t->border_fallback;
} }
@ -1351,7 +1354,9 @@ void r300UpdateTextureState(GLcontext * ctx)
r300UpdateTextureUnit(ctx, 7) r300UpdateTextureUnit(ctx, 7)
); );
#if R200_MERGED
FALLBACK(&rmesa->radeon, RADEON_FALLBACK_TEXTURE, !ok); FALLBACK(&rmesa->radeon, RADEON_FALLBACK_TEXTURE, !ok);
#endif
/* This needs correction, or just be done elsewhere /* This needs correction, or just be done elsewhere
if (rmesa->radeon.TclFallback) if (rmesa->radeon.TclFallback)

View File

@ -174,7 +174,7 @@ void dump_program_params(GLcontext *ctx, struct vertex_program *vp)
fprintf(stderr, "{ "); fprintf(stderr, "{ ");
for(i=0; i < 4; i++) for(i=0; i < 4; i++)
fprintf(stderr, "%f ", vp->Parameters->Parameters[pi].Values[i]); fprintf(stderr, "%f ", vp->Parameters->ParameterValues[pi][i]);
fprintf(stderr, "}\n"); fprintf(stderr, "}\n");
} }
@ -212,7 +212,7 @@ static void debug_vp(GLcontext *ctx, struct vertex_program *vp)
fprintf(stderr, "%d.", vpi->DstReg.Index); fprintf(stderr, "%d.", vpi->DstReg.Index);
for(i=0; i < 4; i++) for(i=0; i < 4; i++)
if(vpi->DstReg.WriteMask[i]) if(vpi->DstReg.WriteMask & (1<<i))
fprintf(stderr, "%s", dst_mask_names[i]); fprintf(stderr, "%s", dst_mask_names[i]);
fprintf(stderr, " "); fprintf(stderr, " ");
@ -230,8 +230,8 @@ static void debug_vp(GLcontext *ctx, struct vertex_program *vp)
} }
fprintf(stderr, "%d.", vpi->SrcReg[operand_index].Index); fprintf(stderr, "%d.", vpi->SrcReg[operand_index].Index);
for(i=0; i < 4; i++) /*for(i=0; i < 4; i++)
fprintf(stderr, "%s", dst_mask_names[vpi->SrcReg[operand_index].Swizzle[i]]); fprintf(stderr, "%s", dst_mask_names[vpi->SrcReg[operand_index].Swizzle[i]]);*/
if(operand_index+1 < (op_names[operator_index].ip & (~FLAG_MASK)) ) if(operand_index+1 < (op_names[operator_index].ip & (~FLAG_MASK)) )
fprintf(stderr, ","); fprintf(stderr, ",");
@ -262,10 +262,10 @@ void r300VertexProgUpdateParams(GLcontext *ctx, struct r300_vertex_program *vp)
case NAMED_PARAMETER: case NAMED_PARAMETER:
//fprintf(stderr, "%s", vp->Parameters->Parameters[pi].Name); //fprintf(stderr, "%s", vp->Parameters->Parameters[pi].Name);
case CONSTANT: case CONSTANT:
vp->params.body.f[dst_index++]=mesa_vp->Parameters->Parameters[pi].Values[0]; vp->params.body.f[dst_index++]=mesa_vp->Parameters->ParameterValues[pi][0];
vp->params.body.f[dst_index++]=mesa_vp->Parameters->Parameters[pi].Values[1]; vp->params.body.f[dst_index++]=mesa_vp->Parameters->ParameterValues[pi][1];
vp->params.body.f[dst_index++]=mesa_vp->Parameters->Parameters[pi].Values[2]; vp->params.body.f[dst_index++]=mesa_vp->Parameters->ParameterValues[pi][2];
vp->params.body.f[dst_index++]=mesa_vp->Parameters->Parameters[pi].Values[3]; vp->params.body.f[dst_index++]=mesa_vp->Parameters->ParameterValues[pi][3];
break; break;
default: _mesa_problem(NULL, "Bad param type in %s", __FUNCTION__); default: _mesa_problem(NULL, "Bad param type in %s", __FUNCTION__);
@ -276,14 +276,14 @@ void r300VertexProgUpdateParams(GLcontext *ctx, struct r300_vertex_program *vp)
vp->params.length=dst_index; vp->params.length=dst_index;
} }
static unsigned long t_dst_mask(GLboolean *mask) static unsigned long t_dst_mask(GLuint mask)
{ {
unsigned long flags=0; unsigned long flags=0;
if(mask[0]) flags |= VSF_FLAG_X; if(mask & WRITEMASK_X) flags |= VSF_FLAG_X;
if(mask[1]) flags |= VSF_FLAG_Y; if(mask & WRITEMASK_Y) flags |= VSF_FLAG_Y;
if(mask[2]) flags |= VSF_FLAG_Z; if(mask & WRITEMASK_Z) flags |= VSF_FLAG_Z;
if(mask[3]) flags |= VSF_FLAG_W; if(mask & WRITEMASK_W) flags |= VSF_FLAG_W;
return flags; return flags;
} }
@ -345,13 +345,12 @@ static unsigned long t_src_class(enum register_file file)
static unsigned long t_swizzle(GLubyte swizzle) static unsigned long t_swizzle(GLubyte swizzle)
{ {
switch(swizzle){ switch(swizzle){
case 0: return VSF_IN_COMPONENT_X; case SWIZZLE_X: return VSF_IN_COMPONENT_X;
case 1: return VSF_IN_COMPONENT_Y; case SWIZZLE_Y: return VSF_IN_COMPONENT_Y;
case 2: return VSF_IN_COMPONENT_Z; case SWIZZLE_Z: return VSF_IN_COMPONENT_Z;
case 3: return VSF_IN_COMPONENT_W; case SWIZZLE_W: return VSF_IN_COMPONENT_W;
case SWIZZLE_ZERO: return VSF_IN_COMPONENT_ZERO;
case SWIZZLE_ZERO: case SWIZZLE_ONE: return VSF_IN_COMPONENT_ONE;
case SWIZZLE_ONE:
default: default:
fprintf(stderr, "problem in %s", __FUNCTION__); fprintf(stderr, "problem in %s", __FUNCTION__);
exit(0); exit(0);
@ -401,10 +400,10 @@ static unsigned long t_src(struct r300_vertex_program *vp, struct vp_src_registe
{ {
return MAKE_VSF_SOURCE(t_src_index(vp, src), return MAKE_VSF_SOURCE(t_src_index(vp, src),
t_swizzle(src->Swizzle[0]), t_swizzle(GET_SWZ(src->Swizzle, 0)),
t_swizzle(src->Swizzle[1]), t_swizzle(GET_SWZ(src->Swizzle, 1)),
t_swizzle(src->Swizzle[2]), t_swizzle(GET_SWZ(src->Swizzle, 2)),
t_swizzle(src->Swizzle[3]), t_swizzle(GET_SWZ(src->Swizzle, 3)),
t_src_class(src->File), t_src_class(src->File),
src->Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src->Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
} }
@ -413,10 +412,10 @@ static unsigned long t_src_scalar(struct r300_vertex_program *vp, struct vp_src_
{ {
return MAKE_VSF_SOURCE(t_src_index(vp, src), return MAKE_VSF_SOURCE(t_src_index(vp, src),
t_swizzle(src->Swizzle[0]), t_swizzle(GET_SWZ(src->Swizzle, 0)),
t_swizzle(src->Swizzle[0]), t_swizzle(GET_SWZ(src->Swizzle, 0)),
t_swizzle(src->Swizzle[0]), t_swizzle(GET_SWZ(src->Swizzle, 0)),
t_swizzle(src->Swizzle[0]), t_swizzle(GET_SWZ(src->Swizzle, 0)),
t_src_class(src->File), t_src_class(src->File),
src->Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src->Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
} }
@ -630,17 +629,17 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File)); t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File));
o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_swizzle(src[0].Swizzle[1]), t_swizzle(GET_SWZ(src[0].Swizzle, 1)),
t_swizzle(src[0].Swizzle[2]), t_swizzle(GET_SWZ(src[0].Swizzle, 2)),
SWIZZLE_ZERO, SWIZZLE_ZERO,
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_XYZ : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_XYZ : VSF_FLAG_NONE);
o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]), o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]),
t_swizzle(src[1].Swizzle[0]), t_swizzle(GET_SWZ(src[1].Swizzle, 0)),
t_swizzle(src[1].Swizzle[1]), t_swizzle(GET_SWZ(src[1].Swizzle, 1)),
t_swizzle(src[1].Swizzle[2]), t_swizzle(GET_SWZ(src[1].Swizzle, 2)),
SWIZZLE_ZERO, SWIZZLE_ZERO,
t_src_class(src[1].File), t_src_class(src[1].File),
src[1].Negate ? VSF_FLAG_XYZ : VSF_FLAG_NONE); src[1].Negate ? VSF_FLAG_XYZ : VSF_FLAG_NONE);
@ -654,10 +653,10 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
o_inst->src1=t_src(vp, &src[0]); o_inst->src1=t_src(vp, &src[0]);
o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]), o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]),
t_swizzle(src[1].Swizzle[0]), t_swizzle(GET_SWZ(src[1].Swizzle, 0)),
t_swizzle(src[1].Swizzle[1]), t_swizzle(GET_SWZ(src[1].Swizzle, 1)),
t_swizzle(src[1].Swizzle[2]), t_swizzle(GET_SWZ(src[1].Swizzle, 2)),
t_swizzle(src[1].Swizzle[3]), t_swizzle(GET_SWZ(src[1].Swizzle, 3)),
t_src_class(src[1].File), t_src_class(src[1].File),
(!src[1].Negate) ? VSF_FLAG_ALL : VSF_FLAG_NONE); (!src[1].Negate) ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src3=0; o_inst->src3=0;
@ -669,10 +668,10 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
o_inst->src1=t_src(vp, &src[0]); o_inst->src1=t_src(vp, &src[0]);
o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_swizzle(src[0].Swizzle[1]), t_swizzle(GET_SWZ(src[0].Swizzle, 1)),
t_swizzle(src[0].Swizzle[2]), t_swizzle(GET_SWZ(src[0].Swizzle, 2)),
t_swizzle(src[0].Swizzle[3]), t_swizzle(GET_SWZ(src[0].Swizzle, 3)),
t_src_class(src[0].File), t_src_class(src[0].File),
(!src[0].Negate) ? VSF_FLAG_ALL : VSF_FLAG_NONE); (!src[0].Negate) ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src3=0; o_inst->src3=0;
@ -712,10 +711,10 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File)); t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File));
o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src2=0; o_inst->src2=0;
@ -727,24 +726,24 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File)); t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File));
/* NOTE: Users swizzling might not work. */ /* NOTE: Users swizzling might not work. */
o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[0]), // x t_swizzle(GET_SWZ(src[0].Swizzle, 0)), // x
t_swizzle(src[0].Swizzle[3]), // w t_swizzle(GET_SWZ(src[0].Swizzle, 3)), // w
t_swizzle(src[0].Swizzle[2]), // z t_swizzle(GET_SWZ(src[0].Swizzle, 2)), // z
t_swizzle(src[0].Swizzle[1]), // y t_swizzle(GET_SWZ(src[0].Swizzle, 1)), // y
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[1]), // y t_swizzle(GET_SWZ(src[0].Swizzle, 1)), // y
t_swizzle(src[0].Swizzle[3]), // w t_swizzle(GET_SWZ(src[0].Swizzle, 3)), // w
t_swizzle(src[0].Swizzle[2]), // z t_swizzle(GET_SWZ(src[0].Swizzle, 2)), // z
t_swizzle(src[0].Swizzle[0]), // x t_swizzle(GET_SWZ(src[0].Swizzle, 0)), // x
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src3=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src3=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[1]), // y t_swizzle(GET_SWZ(src[0].Swizzle, 1)), // y
t_swizzle(src[0].Swizzle[0]), // x t_swizzle(GET_SWZ(src[0].Swizzle, 0)), // x
t_swizzle(src[0].Swizzle[2]), // z t_swizzle(GET_SWZ(src[0].Swizzle, 2)), // z
t_swizzle(src[0].Swizzle[3]), // w t_swizzle(GET_SWZ(src[0].Swizzle, 3)), // w
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
goto next; goto next;
@ -754,9 +753,9 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File)); t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File));
o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[0]), t_swizzle(GET_SWZ(src[0].Swizzle, 0)),
t_swizzle(src[0].Swizzle[1]), t_swizzle(GET_SWZ(src[0].Swizzle, 1)),
t_swizzle(src[0].Swizzle[2]), t_swizzle(GET_SWZ(src[0].Swizzle, 2)),
VSF_IN_COMPONENT_ONE, VSF_IN_COMPONENT_ONE,
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_XYZ : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_XYZ : VSF_FLAG_NONE);
@ -774,18 +773,18 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
t_dst_mask(vpi->DstReg.WriteMask), VSF_OUT_CLASS_TMP); t_dst_mask(vpi->DstReg.WriteMask), VSF_OUT_CLASS_TMP);
o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[1]), // y t_swizzle(GET_SWZ(src[0].Swizzle, 1)), // y
t_swizzle(src[0].Swizzle[2]), // z t_swizzle(GET_SWZ(src[0].Swizzle, 2)), // z
t_swizzle(src[0].Swizzle[0]), // x t_swizzle(GET_SWZ(src[0].Swizzle, 0)), // x
t_swizzle(src[0].Swizzle[3]), // w t_swizzle(GET_SWZ(src[0].Swizzle, 3)), // w
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]), o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]),
t_swizzle(src[1].Swizzle[2]), // z t_swizzle(GET_SWZ(src[1].Swizzle, 2)), // z
t_swizzle(src[1].Swizzle[0]), // x t_swizzle(GET_SWZ(src[1].Swizzle, 0)), // x
t_swizzle(src[1].Swizzle[1]), // y t_swizzle(GET_SWZ(src[1].Swizzle, 1)), // y
t_swizzle(src[1].Swizzle[3]), // w t_swizzle(GET_SWZ(src[1].Swizzle, 3)), // w
t_src_class(src[1].File), t_src_class(src[1].File),
src[1].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[1].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);
@ -801,18 +800,18 @@ void translate_vertex_shader(struct r300_vertex_program *vp)
t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File)); t_dst_mask(vpi->DstReg.WriteMask), t_dst_class(vpi->DstReg.File));
o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]), o_inst->src1=MAKE_VSF_SOURCE(t_src_index(vp, &src[1]),
t_swizzle(src[1].Swizzle[1]), // y t_swizzle(GET_SWZ(src[1].Swizzle, 1)), // y
t_swizzle(src[1].Swizzle[2]), // z t_swizzle(GET_SWZ(src[1].Swizzle, 2)), // z
t_swizzle(src[1].Swizzle[0]), // x t_swizzle(GET_SWZ(src[1].Swizzle, 0)), // x
t_swizzle(src[1].Swizzle[3]), // w t_swizzle(GET_SWZ(src[1].Swizzle, 3)), // w
t_src_class(src[1].File), t_src_class(src[1].File),
(!src[1].Negate) ? VSF_FLAG_ALL : VSF_FLAG_NONE); (!src[1].Negate) ? VSF_FLAG_ALL : VSF_FLAG_NONE);
o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]), o_inst->src2=MAKE_VSF_SOURCE(t_src_index(vp, &src[0]),
t_swizzle(src[0].Swizzle[2]), // z t_swizzle(GET_SWZ(src[0].Swizzle, 2)), // z
t_swizzle(src[0].Swizzle[0]), // x t_swizzle(GET_SWZ(src[0].Swizzle, 0)), // x
t_swizzle(src[0].Swizzle[1]), // y t_swizzle(GET_SWZ(src[0].Swizzle, 1)), // y
t_swizzle(src[0].Swizzle[3]), // w t_swizzle(GET_SWZ(src[0].Swizzle, 3)), // w
t_src_class(src[0].File), t_src_class(src[0].File),
src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE); src[0].Negate ? VSF_FLAG_ALL : VSF_FLAG_NONE);

View File

@ -270,11 +270,13 @@ GLboolean radeonMakeCurrent(__DRIcontextPrivate * driContextPriv,
driDrawableInitVBlank(driDrawPriv, driDrawableInitVBlank(driDrawPriv,
radeon->vblank_flags); radeon->vblank_flags);
radeon->dri.drawable = driDrawPriv; radeon->dri.drawable = driDrawPriv;
#if R200_MERGED
if (IS_FAMILY_R200(radeon)) { if (IS_FAMILY_R200(radeon)) {
r200UpdateWindow(radeon->glCtx); r200UpdateWindow(radeon->glCtx);
r200UpdateViewportOffset(radeon->glCtx); r200UpdateViewportOffset(radeon->glCtx);
} }
#endif
} }
_mesa_make_current2(radeon->glCtx, _mesa_make_current2(radeon->glCtx,
@ -290,9 +292,11 @@ GLboolean radeonMakeCurrent(__DRIcontextPrivate * driContextPriv,
_mesa_update_state(radeon->glCtx); _mesa_update_state(radeon->glCtx);
#if R200_MERGED
if (IS_FAMILY_R200(radeon)) if (IS_FAMILY_R200(radeon))
r200ValidateState(radeon->glCtx); r200ValidateState(radeon->glCtx);
#endif
} else { } else {
if (RADEON_DEBUG & DEBUG_DRI) if (RADEON_DEBUG & DEBUG_DRI)
fprintf(stderr, "%s ctx is null\n", __FUNCTION__); fprintf(stderr, "%s ctx is null\n", __FUNCTION__);

View File

@ -80,6 +80,7 @@ static __inline GLuint radeonPackColor(GLuint cpp,
#define RADEON_FALLBACK_DISABLE 0x40 #define RADEON_FALLBACK_DISABLE 0x40
#define RADEON_FALLBACK_BORDER_MODE 0x80 #define RADEON_FALLBACK_BORDER_MODE 0x80
#if R200_MERGED
extern void radeonFallback(GLcontext * ctx, GLuint bit, GLboolean mode); extern void radeonFallback(GLcontext * ctx, GLuint bit, GLboolean mode);
#define FALLBACK( radeon, bit, mode ) do { \ #define FALLBACK( radeon, bit, mode ) do { \
@ -87,7 +88,9 @@ extern void radeonFallback(GLcontext * ctx, GLuint bit, GLboolean mode);
__FUNCTION__, bit, mode ); \ __FUNCTION__, bit, mode ); \
radeonFallback( (radeon)->glCtx, bit, mode ); \ radeonFallback( (radeon)->glCtx, bit, mode ); \
} while (0) } while (0)
#else
#define FALLBACK( radeon, bit, mode ) fprintf(stderr, "%s:%s\n", __LINE__, __FILE__);
#endif
/* TCL fallbacks */ /* TCL fallbacks */
extern void radeonTclFallback(GLcontext * ctx, GLuint bit, GLboolean mode); extern void radeonTclFallback(GLcontext * ctx, GLuint bit, GLboolean mode);
@ -106,7 +109,11 @@ extern void radeonTclFallback(GLcontext * ctx, GLuint bit, GLboolean mode);
#define RADEON_TCL_FALLBACK_BITMAP 0x0800 /* draw bitmap with points */ #define RADEON_TCL_FALLBACK_BITMAP 0x0800 /* draw bitmap with points */
#define RADEON_TCL_FALLBACK_VERTEX_PROGRAM 0x1000 /* vertex program active */ #define RADEON_TCL_FALLBACK_VERTEX_PROGRAM 0x1000 /* vertex program active */
#if R200_MERGED
#define TCL_FALLBACK( ctx, bit, mode ) radeonTclFallback( ctx, bit, mode ) #define TCL_FALLBACK( ctx, bit, mode ) radeonTclFallback( ctx, bit, mode )
#else
#define TCL_FALLBACK( ctx, bit, mode ) ;
#endif
struct radeon_dri_mirror { struct radeon_dri_mirror {

View File

@ -40,7 +40,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "macros.h" #include "macros.h"
#include "context.h" #include "context.h"
#include "swrast/swrast.h" #include "swrast/swrast.h"
#include "r200_context.h" #include "r200_context.h"
#include "r300_context.h" #include "r300_context.h"
#include "r200_state.h" #include "r200_state.h"
@ -329,8 +328,10 @@ void radeonFlush(GLcontext * ctx)
if (IS_FAMILY_R300(radeon)) if (IS_FAMILY_R300(radeon))
r300Flush(ctx); r300Flush(ctx);
#if R200_MERGED
else else
r200Flush(ctx); r200Flush(ctx);
#endif
} }

View File

@ -68,6 +68,7 @@ static void radeonUpdatePageFlipping(radeonContextPtr radeon)
/** /**
* Called by radeonGetLock() after the lock has been obtained. * Called by radeonGetLock() after the lock has been obtained.
*/ */
#if R200_MERGED
static void r200RegainedLock(r200ContextPtr r200) static void r200RegainedLock(r200ContextPtr r200)
{ {
__DRIdrawablePrivate *dPriv = r200->radeon.dri.drawable; __DRIdrawablePrivate *dPriv = r200->radeon.dri.drawable;
@ -94,6 +95,7 @@ static void r200RegainedLock(r200ContextPtr r200)
DRI_AGE_TEXTURES(r200->texture_heaps[i]); DRI_AGE_TEXTURES(r200->texture_heaps[i]);
} }
} }
#endif
static void r300RegainedLock(radeonContextPtr radeon) static void r300RegainedLock(radeonContextPtr radeon)
{ {
@ -111,7 +113,7 @@ static void r300RegainedLock(radeonContextPtr radeon)
radeon->lastStamp = dPriv->lastStamp; radeon->lastStamp = dPriv->lastStamp;
} }
#if 0 #if R200_MERGED
for (i = 0; i < r200->nr_heaps; i++) { for (i = 0; i < r200->nr_heaps; i++) {
DRI_AGE_TEXTURES(r200->texture_heaps[i]); DRI_AGE_TEXTURES(r200->texture_heaps[i]);
} }
@ -149,8 +151,10 @@ void radeonGetLock(radeonContextPtr radeon, GLuint flags)
if (IS_FAMILY_R300(radeon)) if (IS_FAMILY_R300(radeon))
r300RegainedLock(radeon); r300RegainedLock(radeon);
#if R200_MERGED
else else
r200RegainedLock((r200ContextPtr)radeon); r200RegainedLock((r200ContextPtr)radeon);
#endif
radeon->lost_context = GL_TRUE; radeon->lost_context = GL_TRUE;
} }

View File

@ -96,6 +96,7 @@ extern int prevLockLine;
DEBUG_LOCK(); \ DEBUG_LOCK(); \
} while (0) } while (0)
#if R200_MERGED
#define UNLOCK_HARDWARE( radeon ) \ #define UNLOCK_HARDWARE( radeon ) \
do { \ do { \
DRM_UNLOCK( (radeon)->dri.fd, \ DRM_UNLOCK( (radeon)->dri.fd, \
@ -109,5 +110,13 @@ extern int prevLockLine;
__r200->save_on_next_unlock = GL_FALSE; \ __r200->save_on_next_unlock = GL_FALSE; \
} \ } \
} while (0) } while (0)
#else
#define UNLOCK_HARDWARE( radeon ) \
do { \
DRM_UNLOCK( (radeon)->dri.fd, \
(radeon)->dri.hwLock, \
(radeon)->dri.hwContext ); \
DEBUG_RESET(); \
} while (0)
#endif
#endif /* __RADEON_LOCK_H__ */ #endif /* __RADEON_LOCK_H__ */

View File

@ -591,6 +591,7 @@ static radeonScreenPtr radeonCreateScreen(__DRIscreenPrivate * sPriv)
(*glx_enable_extension) (psc, (*glx_enable_extension) (psc,
"GLX_MESA_swap_frame_usage"); "GLX_MESA_swap_frame_usage");
#if R200_MERGED
if (driCompareGLXAPIVersion(20030818) >= 0) { if (driCompareGLXAPIVersion(20030818) >= 0) {
sPriv->psc->allocateMemory = sPriv->psc->allocateMemory =
(void *)r200AllocateMemoryMESA; (void *)r200AllocateMemoryMESA;
@ -602,6 +603,7 @@ static radeonScreenPtr radeonCreateScreen(__DRIscreenPrivate * sPriv)
(*glx_enable_extension) (psc, (*glx_enable_extension) (psc,
"GLX_MESA_allocate_memory"); "GLX_MESA_allocate_memory");
} }
#endif
if (driCompareGLXAPIVersion(20030915) >= 0) { if (driCompareGLXAPIVersion(20030915) >= 0) {
(*glx_enable_extension) (psc, (*glx_enable_extension) (psc,
@ -696,8 +698,10 @@ static GLboolean radeonCreateContext(const __GLcontextModes * glVisual,
if (chip >= RADEON_CHIP_R300) if (chip >= RADEON_CHIP_R300)
return r300CreateContext(glVisual, driContextPriv, sharedContextPriv); return r300CreateContext(glVisual, driContextPriv, sharedContextPriv);
#if R200_MERGED
else else
return r200CreateContext(glVisual, driContextPriv, sharedContextPriv); return r200CreateContext(glVisual, driContextPriv, sharedContextPriv);
#endif
} }
@ -711,8 +715,10 @@ static void radeonDestroyContext(__DRIcontextPrivate * driContextPriv)
if (chip >= RADEON_CHIP_R300) if (chip >= RADEON_CHIP_R300)
return r300DestroyContext(driContextPriv); return r300DestroyContext(driContextPriv);
#if R200_MERGED
else else
return r200DestroyContext(driContextPriv); return r200DestroyContext(driContextPriv);
#endif
} }