mesa: Rename pipe formats.

This commit is contained in:
José Fonseca
2010-03-01 18:10:23 +00:00
parent a489753471
commit 7d1a79a04e
6 changed files with 104 additions and 104 deletions

View File

@@ -713,7 +713,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
memcpy(dest, sValues, spanWidth); memcpy(dest, sValues, spanWidth);
} }
break; break;
case PIPE_FORMAT_S8Z24_UNORM: case PIPE_FORMAT_Z24S8_UNORM:
if (format == GL_DEPTH_STENCIL) { if (format == GL_DEPTH_STENCIL) {
uint *dest = (uint *) (stmap + spanY * pt->stride + spanX*4); uint *dest = (uint *) (stmap + spanY * pt->stride + spanX*4);
GLint k; GLint k;
@@ -731,7 +731,7 @@ draw_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
} }
} }
break; break;
case PIPE_FORMAT_Z24S8_UNORM: case PIPE_FORMAT_S8Z24_UNORM:
if (format == GL_DEPTH_STENCIL) { if (format == GL_DEPTH_STENCIL) {
uint *dest = (uint *) (stmap + spanY * pt->stride + spanX*4); uint *dest = (uint *) (stmap + spanY * pt->stride + spanX*4);
GLint k; GLint k;
@@ -879,7 +879,7 @@ copy_stencil_pixels(GLcontext *ctx, GLint srcx, GLint srcy,
src = buffer + i * width; src = buffer + i * width;
switch (ptDraw->texture->format) { switch (ptDraw->texture->format) {
case PIPE_FORMAT_S8Z24_UNORM: case PIPE_FORMAT_Z24S8_UNORM:
{ {
uint *dst4 = (uint *) dst; uint *dst4 = (uint *) dst;
int j; int j;
@@ -890,7 +890,7 @@ copy_stencil_pixels(GLcontext *ctx, GLint srcx, GLint srcy,
} }
} }
break; break;
case PIPE_FORMAT_Z24S8_UNORM: case PIPE_FORMAT_S8Z24_UNORM:
{ {
uint *dst4 = (uint *) dst; uint *dst4 = (uint *) dst;
int j; int j;

View File

@@ -238,13 +238,13 @@ st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw)
strb->software = sw; strb->software = sw;
switch (format) { switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_B8G8R8A8_UNORM: case PIPE_FORMAT_B8G8R8A8_UNORM:
case PIPE_FORMAT_X8R8G8B8_UNORM: case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_B8G8R8X8_UNORM: case PIPE_FORMAT_B8G8R8X8_UNORM:
case PIPE_FORMAT_A1R5G5B5_UNORM: case PIPE_FORMAT_X8R8G8B8_UNORM:
case PIPE_FORMAT_A4R4G4B4_UNORM: case PIPE_FORMAT_B5G5R5A1_UNORM:
case PIPE_FORMAT_R5G6B5_UNORM: case PIPE_FORMAT_B4G4R4A4_UNORM:
case PIPE_FORMAT_B5G6R5_UNORM:
strb->Base.InternalFormat = GL_RGBA; strb->Base.InternalFormat = GL_RGBA;
break; break;
case PIPE_FORMAT_Z16_UNORM: case PIPE_FORMAT_Z16_UNORM:
@@ -253,10 +253,10 @@ st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw)
case PIPE_FORMAT_Z32_UNORM: case PIPE_FORMAT_Z32_UNORM:
strb->Base.InternalFormat = GL_DEPTH_COMPONENT32; strb->Base.InternalFormat = GL_DEPTH_COMPONENT32;
break; break;
case PIPE_FORMAT_S8Z24_UNORM:
case PIPE_FORMAT_Z24S8_UNORM: case PIPE_FORMAT_Z24S8_UNORM:
case PIPE_FORMAT_X8Z24_UNORM: case PIPE_FORMAT_S8Z24_UNORM:
case PIPE_FORMAT_Z24X8_UNORM: case PIPE_FORMAT_Z24X8_UNORM:
case PIPE_FORMAT_X8Z24_UNORM:
strb->Base.InternalFormat = GL_DEPTH24_STENCIL8_EXT; strb->Base.InternalFormat = GL_DEPTH24_STENCIL8_EXT;
break; break;
case PIPE_FORMAT_S8_UNORM: case PIPE_FORMAT_S8_UNORM:

View File

@@ -108,7 +108,7 @@ st_read_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
memcpy(sValues, src, width); memcpy(sValues, src, width);
} }
break; break;
case PIPE_FORMAT_S8Z24_UNORM: case PIPE_FORMAT_Z24S8_UNORM:
if (format == GL_DEPTH_STENCIL) { if (format == GL_DEPTH_STENCIL) {
const uint *src = (uint *) (stmap + srcY * pt->stride); const uint *src = (uint *) (stmap + srcY * pt->stride);
const GLfloat scale = 1.0f / (0xffffff); const GLfloat scale = 1.0f / (0xffffff);
@@ -126,7 +126,7 @@ st_read_stencil_pixels(GLcontext *ctx, GLint x, GLint y,
} }
} }
break; break;
case PIPE_FORMAT_Z24S8_UNORM: case PIPE_FORMAT_S8Z24_UNORM:
if (format == GL_DEPTH_STENCIL) { if (format == GL_DEPTH_STENCIL) {
const uint *src = (uint *) (stmap + srcY * pt->stride); const uint *src = (uint *) (stmap + srcY * pt->stride);
const GLfloat scale = 1.0f / (0xffffff); const GLfloat scale = 1.0f / (0xffffff);
@@ -214,15 +214,15 @@ st_fast_readpixels(GLcontext *ctx, struct st_renderbuffer *strb,
if (ctx->_ImageTransferState) if (ctx->_ImageTransferState)
return GL_FALSE; return GL_FALSE;
if (strb->format == PIPE_FORMAT_A8R8G8B8_UNORM && if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM &&
format == GL_RGBA && type == GL_UNSIGNED_BYTE) { format == GL_RGBA && type == GL_UNSIGNED_BYTE) {
combo = A8R8G8B8_UNORM_TO_RGBA_UBYTE; combo = A8R8G8B8_UNORM_TO_RGBA_UBYTE;
} }
else if (strb->format == PIPE_FORMAT_A8R8G8B8_UNORM && else if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM &&
format == GL_RGB && type == GL_UNSIGNED_BYTE) { format == GL_RGB && type == GL_UNSIGNED_BYTE) {
combo = A8R8G8B8_UNORM_TO_RGB_UBYTE; combo = A8R8G8B8_UNORM_TO_RGB_UBYTE;
} }
else if (strb->format == PIPE_FORMAT_A8R8G8B8_UNORM && else if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM &&
format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8_REV) { format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8_REV) {
combo = A8R8G8B8_UNORM_TO_BGRA_UINT; combo = A8R8G8B8_UNORM_TO_BGRA_UINT;
} }
@@ -429,8 +429,8 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
const GLint dstStride = _mesa_image_row_stride(&clippedPacking, width, const GLint dstStride = _mesa_image_row_stride(&clippedPacking, width,
format, type); format, type);
if (trans->texture->format == PIPE_FORMAT_S8Z24_UNORM || if (trans->texture->format == PIPE_FORMAT_Z24S8_UNORM ||
trans->texture->format == PIPE_FORMAT_X8Z24_UNORM) { trans->texture->format == PIPE_FORMAT_Z24X8_UNORM) {
if (format == GL_DEPTH_COMPONENT) { if (format == GL_DEPTH_COMPONENT) {
for (i = 0; i < height; i++) { for (i = 0; i < height; i++) {
GLuint ztemp[MAX_WIDTH]; GLuint ztemp[MAX_WIDTH];
@@ -461,8 +461,8 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
} }
} }
} }
else if (trans->texture->format == PIPE_FORMAT_Z24S8_UNORM || else if (trans->texture->format == PIPE_FORMAT_S8Z24_UNORM ||
trans->texture->format == PIPE_FORMAT_Z24X8_UNORM) { trans->texture->format == PIPE_FORMAT_X8Z24_UNORM) {
if (format == GL_DEPTH_COMPONENT) { if (format == GL_DEPTH_COMPONENT) {
for (i = 0; i < height; i++) { for (i = 0; i < height; i++) {
GLuint ztemp[MAX_WIDTH]; GLuint ztemp[MAX_WIDTH];

View File

@@ -183,7 +183,7 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
/* this is an odd-ball case */ /* this is an odd-ball case */
assert(type == GL_UNSIGNED_BYTE); assert(type == GL_UNSIGNED_BYTE);
assert(normalized); assert(normalized);
return PIPE_FORMAT_B8G8R8A8_UNORM; return PIPE_FORMAT_A8R8G8B8_UNORM;
} }
if (normalized) { if (normalized) {

View File

@@ -270,15 +270,7 @@ void st_init_extensions(struct st_context *st)
/* GL_EXT_packed_depth_stencil requires both the ability to render to /* GL_EXT_packed_depth_stencil requires both the ability to render to
* a depth/stencil buffer and texture from depth/stencil source. * a depth/stencil buffer and texture from depth/stencil source.
*/ */
if (screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM, if (screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0) &&
screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_SAMPLER, 0)) {
ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
}
else if (screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM,
PIPE_TEXTURE_2D, PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0) && PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0) &&
screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM, screen->is_format_supported(screen, PIPE_FORMAT_S8Z24_UNORM,
@@ -286,12 +278,20 @@ void st_init_extensions(struct st_context *st)
PIPE_TEXTURE_USAGE_SAMPLER, 0)) { PIPE_TEXTURE_USAGE_SAMPLER, 0)) {
ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE; ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
} }
else if (screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_DEPTH_STENCIL, 0) &&
screen->is_format_supported(screen, PIPE_FORMAT_Z24S8_UNORM,
PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_SAMPLER, 0)) {
ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
}
/* sRGB support */ /* sRGB support */
if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SRGB, if (screen->is_format_supported(screen, PIPE_FORMAT_A8B8G8R8_SRGB,
PIPE_TEXTURE_2D, PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_SAMPLER, 0) || PIPE_TEXTURE_USAGE_SAMPLER, 0) ||
screen->is_format_supported(screen, PIPE_FORMAT_A8R8G8B8_SRGB, screen->is_format_supported(screen, PIPE_FORMAT_B8G8R8A8_SRGB,
PIPE_TEXTURE_2D, PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_SAMPLER, 0)) { PIPE_TEXTURE_USAGE_SAMPLER, 0)) {
ctx->Extensions.EXT_texture_sRGB = GL_TRUE; ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
@@ -310,10 +310,10 @@ void st_init_extensions(struct st_context *st)
} }
/* ycbcr support */ /* ycbcr support */
if (screen->is_format_supported(screen, PIPE_FORMAT_YCBCR, if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY,
PIPE_TEXTURE_2D, PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_SAMPLER, 0) || PIPE_TEXTURE_USAGE_SAMPLER, 0) ||
screen->is_format_supported(screen, PIPE_FORMAT_YCBCR_REV, screen->is_format_supported(screen, PIPE_FORMAT_YUYV,
PIPE_TEXTURE_2D, PIPE_TEXTURE_2D,
PIPE_TEXTURE_USAGE_SAMPLER, 0)) { PIPE_TEXTURE_USAGE_SAMPLER, 0)) {
ctx->Extensions.MESA_ycbcr_texture = GL_TRUE; ctx->Extensions.MESA_ycbcr_texture = GL_TRUE;

View File

@@ -72,12 +72,12 @@ st_format_datatype(enum pipe_format format)
assert(desc); assert(desc);
if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN) { if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN) {
if (format == PIPE_FORMAT_A1R5G5B5_UNORM || if (format == PIPE_FORMAT_B5G5R5A1_UNORM ||
format == PIPE_FORMAT_R5G6B5_UNORM) { format == PIPE_FORMAT_B5G6R5_UNORM) {
return GL_UNSIGNED_SHORT; return GL_UNSIGNED_SHORT;
} }
else if (format == PIPE_FORMAT_S8Z24_UNORM || else if (format == PIPE_FORMAT_Z24S8_UNORM ||
format == PIPE_FORMAT_Z24S8_UNORM) { format == PIPE_FORMAT_S8Z24_UNORM) {
return GL_UNSIGNED_INT_24_8; return GL_UNSIGNED_INT_24_8;
} }
else { else {
@@ -103,10 +103,10 @@ st_format_datatype(enum pipe_format format)
} }
} }
} }
else if (format == PIPE_FORMAT_YCBCR) { else if (format == PIPE_FORMAT_UYVY) {
return GL_UNSIGNED_SHORT; return GL_UNSIGNED_SHORT;
} }
else if (format == PIPE_FORMAT_YCBCR_REV) { else if (format == PIPE_FORMAT_YUYV) {
return GL_UNSIGNED_SHORT; return GL_UNSIGNED_SHORT;
} }
else { else {
@@ -129,17 +129,17 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)
/* fix this */ /* fix this */
case MESA_FORMAT_ARGB8888_REV: case MESA_FORMAT_ARGB8888_REV:
case MESA_FORMAT_ARGB8888: case MESA_FORMAT_ARGB8888:
return PIPE_FORMAT_A8R8G8B8_UNORM; return PIPE_FORMAT_B8G8R8A8_UNORM;
case MESA_FORMAT_XRGB8888: case MESA_FORMAT_XRGB8888:
return PIPE_FORMAT_X8R8G8B8_UNORM; return PIPE_FORMAT_B8G8R8X8_UNORM;
case MESA_FORMAT_ARGB1555: case MESA_FORMAT_ARGB1555:
return PIPE_FORMAT_A1R5G5B5_UNORM; return PIPE_FORMAT_B5G5R5A1_UNORM;
case MESA_FORMAT_ARGB4444: case MESA_FORMAT_ARGB4444:
return PIPE_FORMAT_A4R4G4B4_UNORM; return PIPE_FORMAT_B4G4R4A4_UNORM;
case MESA_FORMAT_RGB565: case MESA_FORMAT_RGB565:
return PIPE_FORMAT_R5G6B5_UNORM; return PIPE_FORMAT_B5G6R5_UNORM;
case MESA_FORMAT_AL88: case MESA_FORMAT_AL88:
return PIPE_FORMAT_A8L8_UNORM; return PIPE_FORMAT_L8A8_UNORM;
case MESA_FORMAT_A8: case MESA_FORMAT_A8:
return PIPE_FORMAT_A8_UNORM; return PIPE_FORMAT_A8_UNORM;
case MESA_FORMAT_L8: case MESA_FORMAT_L8:
@@ -151,11 +151,11 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)
case MESA_FORMAT_Z32: case MESA_FORMAT_Z32:
return PIPE_FORMAT_Z32_UNORM; return PIPE_FORMAT_Z32_UNORM;
case MESA_FORMAT_Z24_S8: case MESA_FORMAT_Z24_S8:
return PIPE_FORMAT_Z24S8_UNORM;
case MESA_FORMAT_S8_Z24:
return PIPE_FORMAT_S8Z24_UNORM; return PIPE_FORMAT_S8Z24_UNORM;
case MESA_FORMAT_S8_Z24:
return PIPE_FORMAT_Z24S8_UNORM;
case MESA_FORMAT_YCBCR: case MESA_FORMAT_YCBCR:
return PIPE_FORMAT_YCBCR; return PIPE_FORMAT_UYVY;
#if FEATURE_texture_s3tc #if FEATURE_texture_s3tc
case MESA_FORMAT_RGB_DXT1: case MESA_FORMAT_RGB_DXT1:
return PIPE_FORMAT_DXT1_RGB; return PIPE_FORMAT_DXT1_RGB;
@@ -178,15 +178,15 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat)
#endif #endif
#if FEATURE_EXT_texture_sRGB #if FEATURE_EXT_texture_sRGB
case MESA_FORMAT_SLA8: case MESA_FORMAT_SLA8:
return PIPE_FORMAT_A8L8_SRGB; return PIPE_FORMAT_L8A8_SRGB;
case MESA_FORMAT_SL8: case MESA_FORMAT_SL8:
return PIPE_FORMAT_L8_SRGB; return PIPE_FORMAT_L8_SRGB;
case MESA_FORMAT_SRGB8: case MESA_FORMAT_SRGB8:
return PIPE_FORMAT_R8G8B8_SRGB; return PIPE_FORMAT_R8G8B8_SRGB;
case MESA_FORMAT_SRGBA8: case MESA_FORMAT_SRGBA8:
return PIPE_FORMAT_R8G8B8A8_SRGB; return PIPE_FORMAT_A8B8G8R8_SRGB;
case MESA_FORMAT_SARGB8: case MESA_FORMAT_SARGB8:
return PIPE_FORMAT_A8R8G8B8_SRGB; return PIPE_FORMAT_B8G8R8A8_SRGB;
#endif #endif
default: default:
assert(0); assert(0);
@@ -202,21 +202,21 @@ gl_format
st_pipe_format_to_mesa_format(enum pipe_format format) st_pipe_format_to_mesa_format(enum pipe_format format)
{ {
switch (format) { switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
return MESA_FORMAT_ARGB8888;
case PIPE_FORMAT_X8R8G8B8_UNORM:
return MESA_FORMAT_XRGB8888;
case PIPE_FORMAT_B8G8R8A8_UNORM: case PIPE_FORMAT_B8G8R8A8_UNORM:
return MESA_FORMAT_ARGB8888_REV; return MESA_FORMAT_ARGB8888;
case PIPE_FORMAT_B8G8R8X8_UNORM: case PIPE_FORMAT_B8G8R8X8_UNORM:
return MESA_FORMAT_XRGB8888;
case PIPE_FORMAT_A8R8G8B8_UNORM:
return MESA_FORMAT_ARGB8888_REV;
case PIPE_FORMAT_X8R8G8B8_UNORM:
return MESA_FORMAT_XRGB8888_REV; return MESA_FORMAT_XRGB8888_REV;
case PIPE_FORMAT_A1R5G5B5_UNORM: case PIPE_FORMAT_B5G5R5A1_UNORM:
return MESA_FORMAT_ARGB1555; return MESA_FORMAT_ARGB1555;
case PIPE_FORMAT_A4R4G4B4_UNORM: case PIPE_FORMAT_B4G4R4A4_UNORM:
return MESA_FORMAT_ARGB4444; return MESA_FORMAT_ARGB4444;
case PIPE_FORMAT_R5G6B5_UNORM: case PIPE_FORMAT_B5G6R5_UNORM:
return MESA_FORMAT_RGB565; return MESA_FORMAT_RGB565;
case PIPE_FORMAT_A8L8_UNORM: case PIPE_FORMAT_L8A8_UNORM:
return MESA_FORMAT_AL88; return MESA_FORMAT_AL88;
case PIPE_FORMAT_A8_UNORM: case PIPE_FORMAT_A8_UNORM:
return MESA_FORMAT_A8; return MESA_FORMAT_A8;
@@ -234,18 +234,18 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
return MESA_FORMAT_Z16; return MESA_FORMAT_Z16;
case PIPE_FORMAT_Z32_UNORM: case PIPE_FORMAT_Z32_UNORM:
return MESA_FORMAT_Z32; return MESA_FORMAT_Z32;
case PIPE_FORMAT_Z24S8_UNORM:
return MESA_FORMAT_Z24_S8;
case PIPE_FORMAT_Z24X8_UNORM:
return MESA_FORMAT_Z24_X8;
case PIPE_FORMAT_X8Z24_UNORM:
return MESA_FORMAT_X8_Z24;
case PIPE_FORMAT_S8Z24_UNORM: case PIPE_FORMAT_S8Z24_UNORM:
return MESA_FORMAT_Z24_S8;
case PIPE_FORMAT_X8Z24_UNORM:
return MESA_FORMAT_Z24_X8;
case PIPE_FORMAT_Z24X8_UNORM:
return MESA_FORMAT_X8_Z24;
case PIPE_FORMAT_Z24S8_UNORM:
return MESA_FORMAT_S8_Z24; return MESA_FORMAT_S8_Z24;
case PIPE_FORMAT_YCBCR: case PIPE_FORMAT_UYVY:
return MESA_FORMAT_YCBCR; return MESA_FORMAT_YCBCR;
case PIPE_FORMAT_YCBCR_REV: case PIPE_FORMAT_YUYV:
return MESA_FORMAT_YCBCR_REV; return MESA_FORMAT_YCBCR_REV;
#if FEATURE_texture_s3tc #if FEATURE_texture_s3tc
@@ -270,15 +270,15 @@ st_pipe_format_to_mesa_format(enum pipe_format format)
#endif #endif
#if FEATURE_EXT_texture_sRGB #if FEATURE_EXT_texture_sRGB
case PIPE_FORMAT_A8L8_SRGB: case PIPE_FORMAT_L8A8_SRGB:
return MESA_FORMAT_SLA8; return MESA_FORMAT_SLA8;
case PIPE_FORMAT_L8_SRGB: case PIPE_FORMAT_L8_SRGB:
return MESA_FORMAT_SL8; return MESA_FORMAT_SL8;
case PIPE_FORMAT_R8G8B8_SRGB: case PIPE_FORMAT_R8G8B8_SRGB:
return MESA_FORMAT_SRGB8; return MESA_FORMAT_SRGB8;
case PIPE_FORMAT_R8G8B8A8_SRGB: case PIPE_FORMAT_A8B8G8R8_SRGB:
return MESA_FORMAT_SRGBA8; return MESA_FORMAT_SRGBA8;
case PIPE_FORMAT_A8R8G8B8_SRGB: case PIPE_FORMAT_B8G8R8A8_SRGB:
return MESA_FORMAT_SARGB8; return MESA_FORMAT_SARGB8;
#endif #endif
default: default:
@@ -298,10 +298,10 @@ default_rgba_format(struct pipe_screen *screen,
unsigned geom_flags) unsigned geom_flags)
{ {
static const enum pipe_format colorFormats[] = { static const enum pipe_format colorFormats[] = {
PIPE_FORMAT_A8R8G8B8_UNORM,
PIPE_FORMAT_B8G8R8A8_UNORM, PIPE_FORMAT_B8G8R8A8_UNORM,
PIPE_FORMAT_R8G8B8A8_UNORM_REV, PIPE_FORMAT_A8R8G8B8_UNORM,
PIPE_FORMAT_R5G6B5_UNORM PIPE_FORMAT_A8B8G8R8_UNORM,
PIPE_FORMAT_B5G6R5_UNORM
}; };
uint i; uint i;
for (i = 0; i < Elements(colorFormats); i++) { for (i = 0; i < Elements(colorFormats); i++) {
@@ -322,13 +322,13 @@ default_rgb_format(struct pipe_screen *screen,
unsigned geom_flags) unsigned geom_flags)
{ {
static const enum pipe_format colorFormats[] = { static const enum pipe_format colorFormats[] = {
PIPE_FORMAT_X8R8G8B8_UNORM,
PIPE_FORMAT_B8G8R8X8_UNORM, PIPE_FORMAT_B8G8R8X8_UNORM,
PIPE_FORMAT_R8G8B8X8_UNORM, PIPE_FORMAT_X8R8G8B8_UNORM,
PIPE_FORMAT_A8R8G8B8_UNORM, PIPE_FORMAT_X8B8G8R8_UNORM,
PIPE_FORMAT_B8G8R8A8_UNORM, PIPE_FORMAT_B8G8R8A8_UNORM,
PIPE_FORMAT_R8G8B8A8_UNORM_REV, PIPE_FORMAT_A8R8G8B8_UNORM,
PIPE_FORMAT_R5G6B5_UNORM PIPE_FORMAT_A8B8G8R8_UNORM,
PIPE_FORMAT_B5G6R5_UNORM
}; };
uint i; uint i;
for (i = 0; i < Elements(colorFormats); i++) { for (i = 0; i < Elements(colorFormats); i++) {
@@ -349,9 +349,9 @@ default_srgba_format(struct pipe_screen *screen,
unsigned geom_flags) unsigned geom_flags)
{ {
static const enum pipe_format colorFormats[] = { static const enum pipe_format colorFormats[] = {
PIPE_FORMAT_A8R8G8B8_SRGB,
PIPE_FORMAT_B8G8R8A8_SRGB, PIPE_FORMAT_B8G8R8A8_SRGB,
PIPE_FORMAT_R8G8B8A8_SRGB, PIPE_FORMAT_A8R8G8B8_SRGB,
PIPE_FORMAT_A8B8G8R8_SRGB,
}; };
uint i; uint i;
for (i = 0; i < Elements(colorFormats); i++) { for (i = 0; i < Elements(colorFormats); i++) {
@@ -393,8 +393,8 @@ default_depth_format(struct pipe_screen *screen,
static const enum pipe_format zFormats[] = { static const enum pipe_format zFormats[] = {
PIPE_FORMAT_Z16_UNORM, PIPE_FORMAT_Z16_UNORM,
PIPE_FORMAT_Z32_UNORM, PIPE_FORMAT_Z32_UNORM,
PIPE_FORMAT_S8Z24_UNORM, PIPE_FORMAT_Z24S8_UNORM,
PIPE_FORMAT_Z24S8_UNORM PIPE_FORMAT_S8Z24_UNORM
}; };
uint i; uint i;
for (i = 0; i < Elements(zFormats); i++) { for (i = 0; i < Elements(zFormats); i++) {
@@ -439,13 +439,13 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
case GL_RGBA4: case GL_RGBA4:
case GL_RGBA2: case GL_RGBA2:
if (screen->is_format_supported( screen, PIPE_FORMAT_A4R4G4B4_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_B4G4R4A4_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_A4R4G4B4_UNORM; return PIPE_FORMAT_B4G4R4A4_UNORM;
return default_rgba_format( screen, target, tex_usage, geom_flags ); return default_rgba_format( screen, target, tex_usage, geom_flags );
case GL_RGB5_A1: case GL_RGB5_A1:
if (screen->is_format_supported( screen, PIPE_FORMAT_A1R5G5B5_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_A1R5G5B5_UNORM; return PIPE_FORMAT_B5G5R5A1_UNORM;
return default_rgba_format( screen, target, tex_usage, geom_flags ); return default_rgba_format( screen, target, tex_usage, geom_flags );
case GL_RGB8: case GL_RGB8:
@@ -457,10 +457,10 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
case GL_RGB5: case GL_RGB5:
case GL_RGB4: case GL_RGB4:
case GL_R3_G3_B2: case GL_R3_G3_B2:
if (screen->is_format_supported( screen, PIPE_FORMAT_R5G6B5_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_B5G6R5_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_R5G6B5_UNORM; return PIPE_FORMAT_B5G6R5_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_A1R5G5B5_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_A1R5G5B5_UNORM; return PIPE_FORMAT_B5G5R5A1_UNORM;
return default_rgba_format( screen, target, tex_usage, geom_flags ); return default_rgba_format( screen, target, tex_usage, geom_flags );
case GL_ALPHA: case GL_ALPHA:
@@ -493,8 +493,8 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
case GL_LUMINANCE12_ALPHA12: case GL_LUMINANCE12_ALPHA12:
case GL_LUMINANCE16_ALPHA16: case GL_LUMINANCE16_ALPHA16:
case GL_COMPRESSED_LUMINANCE_ALPHA: case GL_COMPRESSED_LUMINANCE_ALPHA:
if (screen->is_format_supported( screen, PIPE_FORMAT_A8L8_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_A8L8_UNORM; return PIPE_FORMAT_L8A8_UNORM;
return default_rgba_format( screen, target, tex_usage, geom_flags ); return default_rgba_format( screen, target, tex_usage, geom_flags );
case GL_INTENSITY: case GL_INTENSITY:
@@ -508,13 +508,13 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
return default_rgba_format( screen, target, tex_usage, geom_flags ); return default_rgba_format( screen, target, tex_usage, geom_flags );
case GL_YCBCR_MESA: case GL_YCBCR_MESA:
if (screen->is_format_supported(screen, PIPE_FORMAT_YCBCR, if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY,
target, tex_usage, geom_flags)) { target, tex_usage, geom_flags)) {
return PIPE_FORMAT_YCBCR; return PIPE_FORMAT_UYVY;
} }
if (screen->is_format_supported(screen, PIPE_FORMAT_YCBCR_REV, if (screen->is_format_supported(screen, PIPE_FORMAT_YUYV,
target, tex_usage, geom_flags)) { target, tex_usage, geom_flags)) {
return PIPE_FORMAT_YCBCR_REV; return PIPE_FORMAT_YUYV;
} }
return PIPE_FORMAT_NONE; return PIPE_FORMAT_NONE;
@@ -546,10 +546,10 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
return PIPE_FORMAT_Z16_UNORM; return PIPE_FORMAT_Z16_UNORM;
/* fall-through */ /* fall-through */
case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT24:
if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8Z24_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_Z24S8_UNORM; return PIPE_FORMAT_Z24S8_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8Z24_UNORM;
/* fall-through */ /* fall-through */
case GL_DEPTH_COMPONENT32: case GL_DEPTH_COMPONENT32:
if (screen->is_format_supported( screen, PIPE_FORMAT_Z32_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_Z32_UNORM, target, tex_usage, geom_flags ))
@@ -565,18 +565,18 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
case GL_STENCIL_INDEX16_EXT: case GL_STENCIL_INDEX16_EXT:
if (screen->is_format_supported( screen, PIPE_FORMAT_S8_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_S8_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8_UNORM; return PIPE_FORMAT_S8_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8Z24_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_Z24S8_UNORM; return PIPE_FORMAT_Z24S8_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8Z24_UNORM;
return PIPE_FORMAT_NONE; return PIPE_FORMAT_NONE;
case GL_DEPTH_STENCIL_EXT: case GL_DEPTH_STENCIL_EXT:
case GL_DEPTH24_STENCIL8_EXT: case GL_DEPTH24_STENCIL8_EXT:
if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8Z24_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_Z24S8_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_Z24S8_UNORM; return PIPE_FORMAT_Z24S8_UNORM;
if (screen->is_format_supported( screen, PIPE_FORMAT_S8Z24_UNORM, target, tex_usage, geom_flags ))
return PIPE_FORMAT_S8Z24_UNORM;
return PIPE_FORMAT_NONE; return PIPE_FORMAT_NONE;
case GL_SRGB_EXT: case GL_SRGB_EXT:
@@ -599,8 +599,8 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat,
case GL_SLUMINANCE8_ALPHA8_EXT: case GL_SLUMINANCE8_ALPHA8_EXT:
case GL_COMPRESSED_SLUMINANCE_EXT: case GL_COMPRESSED_SLUMINANCE_EXT:
case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT:
if (screen->is_format_supported( screen, PIPE_FORMAT_A8L8_SRGB, target, tex_usage, geom_flags )) if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_SRGB, target, tex_usage, geom_flags ))
return PIPE_FORMAT_A8L8_SRGB; return PIPE_FORMAT_L8A8_SRGB;
return default_srgba_format( screen, target, tex_usage, geom_flags ); return default_srgba_format( screen, target, tex_usage, geom_flags );
case GL_SLUMINANCE_EXT: case GL_SLUMINANCE_EXT:
@@ -680,11 +680,11 @@ GLboolean
st_equal_formats(enum pipe_format pFormat, GLenum format, GLenum type) st_equal_formats(enum pipe_format pFormat, GLenum format, GLenum type)
{ {
switch (pFormat) { switch (pFormat) {
case PIPE_FORMAT_R8G8B8A8_UNORM_REV: case PIPE_FORMAT_A8B8G8R8_UNORM:
return format == GL_RGBA && type == GL_UNSIGNED_BYTE; return format == GL_RGBA && type == GL_UNSIGNED_BYTE;
case PIPE_FORMAT_B8G8R8A8_UNORM: case PIPE_FORMAT_A8R8G8B8_UNORM:
return format == GL_BGRA && type == GL_UNSIGNED_BYTE; return format == GL_BGRA && type == GL_UNSIGNED_BYTE;
case PIPE_FORMAT_R5G6B5_UNORM: case PIPE_FORMAT_B5G6R5_UNORM:
return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5; return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5;
/* XXX more combos... */ /* XXX more combos... */
default: default: