Procházet zdrojové kódy

r300: Use a switch statement in r300UpdateCulling.

tags/mesa_7_1_rc1
Oliver McFadden před 18 roky
rodič
revize
08a005e076
1 změnil soubory, kde provedl 22 přidání a 7 odebrání
  1. 22
    7
      src/mesa/drivers/dri/r300/r300_state.c

+ 22
- 7
src/mesa/drivers/dri/r300/r300_state.c Zobrazit soubor

@@ -317,19 +317,34 @@ static void r300UpdateCulling(GLcontext * ctx)
r300ContextPtr r300 = R300_CONTEXT(ctx);
uint32_t val = 0;

R300_STATECHANGE(r300, cul);
if (ctx->Polygon.CullFlag) {
if (ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK)
val = R300_CULL_FRONT | R300_CULL_BACK;
else if (ctx->Polygon.CullFaceMode == GL_FRONT)
switch (ctx->Polygon.CullFaceMode) {
case GL_FRONT:
val = R300_CULL_FRONT;
else
break;
case GL_BACK:
val = R300_CULL_BACK;
break;
case GL_FRONT_AND_BACK:
val = R300_CULL_FRONT | R300_CULL_BACK;
break;
default:
break;
}
}
if (ctx->Polygon.FrontFace == GL_CW)

switch (ctx->Polygon.FrontFace) {
case GL_CW:
val |= R300_FRONT_FACE_CW;
else
break;
case GL_CCW:
val |= R300_FRONT_FACE_CCW;
break;
default:
break;
}

R300_STATECHANGE(r300, cul);
r300->hw.cul.cmd[R300_CUL_CULL] = val;
}


Načítá se…
Zrušit
Uložit