radeon: Differentiate 16 bpp destination formats.
Fixes those formats in fbo_firecube. Only tested with r300, radeon and r200 compile tested only.
This commit is contained in:
@@ -484,8 +484,17 @@ static void ctx_emit_cs(GLcontext *ctx, struct radeon_state_atom *atom)
|
||||
atom->cmd[CTX_RB3D_CNTL] &= ~(0xf << 10);
|
||||
if (rrb->cpp == 4)
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB8888;
|
||||
else
|
||||
else switch (rrb->base._ActualFormat) {
|
||||
case GL_RGB5:
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_RGB565;
|
||||
break;
|
||||
case GL_RGBA4:
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB4444;
|
||||
break;
|
||||
case GL_RGB5_A1:
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB1555;
|
||||
break;
|
||||
}
|
||||
|
||||
cbpitch = (rrb->pitch / rrb->cpp);
|
||||
if (rrb->bo->flags & RADEON_BO_FLAGS_MACRO_TILE)
|
||||
|
||||
@@ -269,8 +269,17 @@ static void emit_cb_offset(GLcontext *ctx, struct radeon_state_atom * atom)
|
||||
cbpitch = (rrb->pitch / rrb->cpp);
|
||||
if (rrb->cpp == 4)
|
||||
cbpitch |= R300_COLOR_FORMAT_ARGB8888;
|
||||
else
|
||||
else switch (rrb->base._ActualFormat) {
|
||||
case GL_RGB5:
|
||||
cbpitch |= R300_COLOR_FORMAT_RGB565;
|
||||
break;
|
||||
case GL_RGBA4:
|
||||
cbpitch |= R300_COLOR_FORMAT_ARGB4444;
|
||||
break;
|
||||
case GL_RGB5_A1:
|
||||
cbpitch |= R300_COLOR_FORMAT_ARGB1555;
|
||||
break;
|
||||
}
|
||||
|
||||
if (rrb->bo->flags & RADEON_BO_FLAGS_MACRO_TILE)
|
||||
cbpitch |= R300_COLOR_TILE_ENABLE;
|
||||
|
||||
@@ -390,8 +390,17 @@ static void ctx_emit_cs(GLcontext *ctx, struct radeon_state_atom *atom)
|
||||
atom->cmd[CTX_RB3D_CNTL] &= ~(0xf << 10);
|
||||
if (rrb->cpp == 4)
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB8888;
|
||||
else
|
||||
else switch (rrb->base._ActualFormat) {
|
||||
case GL_RGB5:
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_RGB565;
|
||||
break;
|
||||
case GL_RGBA4:
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB4444;
|
||||
break;
|
||||
case GL_RGB5_A1:
|
||||
atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB1555;
|
||||
break;
|
||||
}
|
||||
|
||||
cbpitch = (rrb->pitch / rrb->cpp);
|
||||
if (rrb->bo->flags & RADEON_BO_FLAGS_MACRO_TILE)
|
||||
|
||||
Reference in New Issue
Block a user