OSDN Git Service

radeon: move YUV on first texunit check after hw state is setup
authorDave Airlie <airlied@redhat.com>
Tue, 17 Feb 2009 00:26:33 +0000 (10:26 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 17 Feb 2009 00:26:33 +0000 (10:26 +1000)
src/mesa/drivers/dri/radeon/radeon_texstate.c

index 1aa5f98..0dc3557 100644 (file)
@@ -985,15 +985,14 @@ static GLboolean radeon_validate_texture(GLcontext *ctx, struct gl_texture_objec
    if (!radeon_validate_texture_miptree(ctx, texObj))
       return GL_FALSE;
 
-   /* yuv conversion only works in first unit */
-   if (unit != 0 && (t->pp_txfilter & RADEON_YUV_TO_RGB))
-      return GL_FALSE;
-
-
    ret = setup_hardware_state(rmesa, t, unit);
    if (ret == GL_FALSE)
      return GL_FALSE;
 
+   /* yuv conversion only works in first unit */
+   if (unit != 0 && (t->pp_txfilter & RADEON_YUV_TO_RGB))
+      return GL_FALSE;
+
    RADEON_STATECHANGE( rmesa, ctx );
    rmesa->hw.ctx.cmd[CTX_PP_CNTL] |= 
      (RADEON_TEX_0_ENABLE | RADEON_TEX_BLEND_0_ENABLE) << unit;