r300g: xRGB and RGBx formats.
We now have 48 GLX visuals. Pretty soon, we'll have 90+ visuals, only five of which ever get tested. :3
This commit is contained in:
@@ -205,7 +205,9 @@ static boolean check_tex_2d_format(enum pipe_format format, uint32_t usage,
|
||||
|
||||
/* Colorbuffer or texture */
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8A8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
case PIPE_FORMAT_I8_UNORM:
|
||||
return usage &
|
||||
(PIPE_TEXTURE_USAGE_RENDER_TARGET |
|
||||
|
@@ -292,6 +292,9 @@ static INLINE uint32_t r300_translate_colorformat(enum pipe_format format)
|
||||
return R300_COLOR_FORMAT_ARGB4444;
|
||||
/* 32-bit buffers */
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8A8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
return R300_COLOR_FORMAT_ARGB8888;
|
||||
/* XXX Not in pipe_format
|
||||
@@ -338,10 +341,16 @@ static INLINE uint32_t r300_translate_out_fmt(enum pipe_format format)
|
||||
{
|
||||
switch (format) {
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
return R300_US_OUT_FMT_C4_8 |
|
||||
R300_C0_SEL_B | R300_C1_SEL_G |
|
||||
R300_C2_SEL_R | R300_C3_SEL_A;
|
||||
case PIPE_FORMAT_R8G8B8A8_UNORM:
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
return R300_US_OUT_FMT_C4_8 |
|
||||
R300_C0_SEL_A | R300_C1_SEL_B |
|
||||
R300_C2_SEL_G | R300_C3_SEL_R;
|
||||
default:
|
||||
debug_printf("r300: Implementation error: "
|
||||
"Got unsupported output format %s in %s\n",
|
||||
|
@@ -48,6 +48,10 @@ static INLINE uint32_t r300_translate_texformat(enum pipe_format format)
|
||||
return R300_EASY_TX_FORMAT(X, Y, Z, W, W8Z8Y8X8);
|
||||
case PIPE_FORMAT_R8G8B8A8_UNORM:
|
||||
return R300_EASY_TX_FORMAT(Y, Z, W, X, W8Z8Y8X8);
|
||||
case PIPE_FORMAT_X8R8G8B8_UNORM:
|
||||
return R300_EASY_TX_FORMAT(X, Y, Z, ONE, W8Z8Y8X8);
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
return R300_EASY_TX_FORMAT(Y, Z, ONE, X, W8Z8Y8X8);
|
||||
case PIPE_FORMAT_A8R8G8B8_SRGB:
|
||||
return R300_EASY_TX_FORMAT(X, Y, Z, W, W8Z8Y8X8) |
|
||||
R300_TX_FORMAT_GAMMA;
|
||||
|
Reference in New Issue
Block a user