X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fstate_tracker%2Fst_format.c;h=5f9ae91298f52d12c79a43d3545c3854fb20d9c4;hb=02d12719e356ee9e3348db67ae55ae790dad058f;hp=6e8ab94f412e22c5ba9983a17c0f94c30cee6fd1;hpb=3213d55d99d810a11e1e3bd6988c3d937cbd3816;p=mesa.git diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 6e8ab94f412..5f9ae91298f 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -89,13 +89,13 @@ st_format_datatype(enum pipe_format format) format == PIPE_FORMAT_R9G9B9E5_FLOAT) { return GL_FLOAT; } - else if (format == PIPE_FORMAT_Z24_UNORM_S8_USCALED || - format == PIPE_FORMAT_S8_USCALED_Z24_UNORM || + else if (format == PIPE_FORMAT_Z24_UNORM_S8_UINT || + format == PIPE_FORMAT_S8_UINT_Z24_UNORM || format == PIPE_FORMAT_Z24X8_UNORM || format == PIPE_FORMAT_X8Z24_UNORM) { return GL_UNSIGNED_INT_24_8; } - else if (format == PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED) { + else if (format == PIPE_FORMAT_Z32_FLOAT_S8X24_UINT) { return GL_FLOAT_32_UNSIGNED_INT_24_8_REV; } else { @@ -162,6 +162,10 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_B8G8R8A8_UNORM; case MESA_FORMAT_ARGB8888_REV: return PIPE_FORMAT_A8R8G8B8_UNORM; + case MESA_FORMAT_RGBX8888: + return PIPE_FORMAT_X8B8G8R8_UNORM; + case MESA_FORMAT_RGBX8888_REV: + return PIPE_FORMAT_R8G8B8X8_UNORM; case MESA_FORMAT_XRGB8888: return PIPE_FORMAT_B8G8R8X8_UNORM; case MESA_FORMAT_XRGB8888_REV: @@ -199,19 +203,19 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) case MESA_FORMAT_Z32: return PIPE_FORMAT_Z32_UNORM; case MESA_FORMAT_Z24_S8: - return PIPE_FORMAT_S8_USCALED_Z24_UNORM; + return PIPE_FORMAT_S8_UINT_Z24_UNORM; case MESA_FORMAT_S8_Z24: - return PIPE_FORMAT_Z24_UNORM_S8_USCALED; + return PIPE_FORMAT_Z24_UNORM_S8_UINT; case MESA_FORMAT_Z24_X8: return PIPE_FORMAT_X8Z24_UNORM; case MESA_FORMAT_X8_Z24: return PIPE_FORMAT_Z24X8_UNORM; case MESA_FORMAT_S8: - return PIPE_FORMAT_S8_USCALED; + return PIPE_FORMAT_S8_UINT; case MESA_FORMAT_Z32_FLOAT: return PIPE_FORMAT_Z32_FLOAT; case MESA_FORMAT_Z32_FLOAT_X24S8: - return PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED; + return PIPE_FORMAT_Z32_FLOAT_S8X24_UINT; case MESA_FORMAT_YCBCR: return PIPE_FORMAT_UYVY; #if FEATURE_texture_s3tc @@ -283,7 +287,7 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_R8_UNORM; case MESA_FORMAT_R16: return PIPE_FORMAT_R16_UNORM; - case MESA_FORMAT_RG88: + case MESA_FORMAT_GR88: return PIPE_FORMAT_R8G8_UNORM; case MESA_FORMAT_RG1616: return PIPE_FORMAT_R16G16_UNORM; @@ -416,6 +420,9 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) case MESA_FORMAT_SIGNED_LA_LATC2: return PIPE_FORMAT_LATC2_SNORM; + case MESA_FORMAT_ETC1_RGB8: + return PIPE_FORMAT_ETC1_RGB8; + /* signed normalized formats */ case MESA_FORMAT_SIGNED_R8: return PIPE_FORMAT_R8_SNORM; @@ -453,7 +460,8 @@ st_mesa_format_to_pipe_format(gl_format mesaFormat) return PIPE_FORMAT_R9G9B9E5_FLOAT; case MESA_FORMAT_R11_G11_B10_FLOAT: return PIPE_FORMAT_R11G11B10_FLOAT; - + case MESA_FORMAT_ARGB2101010_UINT: + return PIPE_FORMAT_B10G10R10A2_UINT; default: assert(0); return PIPE_FORMAT_NONE; @@ -476,6 +484,10 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_ARGB8888; case PIPE_FORMAT_A8R8G8B8_UNORM: return MESA_FORMAT_ARGB8888_REV; + case PIPE_FORMAT_X8B8G8R8_UNORM: + return MESA_FORMAT_RGBX8888; + case PIPE_FORMAT_R8G8B8X8_UNORM: + return MESA_FORMAT_RGBX8888_REV; case PIPE_FORMAT_B8G8R8X8_UNORM: return MESA_FORMAT_XRGB8888; case PIPE_FORMAT_X8R8G8B8_UNORM: @@ -508,7 +520,7 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_I8; case PIPE_FORMAT_I16_UNORM: return MESA_FORMAT_I16; - case PIPE_FORMAT_S8_USCALED: + case PIPE_FORMAT_S8_UINT: return MESA_FORMAT_S8; case PIPE_FORMAT_R16G16B16A16_UNORM: @@ -518,17 +530,17 @@ st_pipe_format_to_mesa_format(enum pipe_format format) return MESA_FORMAT_Z16; case PIPE_FORMAT_Z32_UNORM: return MESA_FORMAT_Z32; - case PIPE_FORMAT_S8_USCALED_Z24_UNORM: + case PIPE_FORMAT_S8_UINT_Z24_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_Z24_UNORM_S8_USCALED: + case PIPE_FORMAT_Z24_UNORM_S8_UINT: return MESA_FORMAT_S8_Z24; case PIPE_FORMAT_Z32_FLOAT: return MESA_FORMAT_Z32_FLOAT; - case PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED: + case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT: return MESA_FORMAT_Z32_FLOAT_X24S8; case PIPE_FORMAT_UYVY: @@ -607,7 +619,7 @@ st_pipe_format_to_mesa_format(enum pipe_format format) case PIPE_FORMAT_R16_UNORM: return MESA_FORMAT_R16; case PIPE_FORMAT_R8G8_UNORM: - return MESA_FORMAT_RG88; + return MESA_FORMAT_GR88; case PIPE_FORMAT_R16G16_UNORM: return MESA_FORMAT_RG1616; @@ -736,6 +748,9 @@ st_pipe_format_to_mesa_format(enum pipe_format format) case PIPE_FORMAT_LATC2_SNORM: return MESA_FORMAT_SIGNED_LA_LATC2; + case PIPE_FORMAT_ETC1_RGB8: + return MESA_FORMAT_ETC1_RGB8; + /* signed normalized formats */ case PIPE_FORMAT_R8_SNORM: return MESA_FORMAT_SIGNED_R8; @@ -774,6 +789,8 @@ st_pipe_format_to_mesa_format(enum pipe_format format) case PIPE_FORMAT_R11G11B10_FLOAT: return MESA_FORMAT_R11_G11_B10_FLOAT; + case PIPE_FORMAT_B10G10R10A2_UINT: + return MESA_FORMAT_ARGB2101010_UINT; default: assert(0); return MESA_FORMAT_NONE; @@ -818,8 +835,8 @@ struct format_mapping PIPE_FORMAT_Z24X8_UNORM, \ PIPE_FORMAT_X8Z24_UNORM, \ PIPE_FORMAT_Z16_UNORM, \ - PIPE_FORMAT_Z24_UNORM_S8_USCALED, \ - PIPE_FORMAT_S8_USCALED_Z24_UNORM, \ + PIPE_FORMAT_Z24_UNORM_S8_UINT, \ + PIPE_FORMAT_S8_UINT_Z24_UNORM, \ 0 /** @@ -988,19 +1005,19 @@ static const struct format_mapping format_map[] = { { GL_STENCIL_INDEX, GL_STENCIL_INDEX1_EXT, GL_STENCIL_INDEX4_EXT, GL_STENCIL_INDEX8_EXT, GL_STENCIL_INDEX16_EXT, 0 }, { - PIPE_FORMAT_S8_USCALED, PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 + PIPE_FORMAT_S8_UINT, PIPE_FORMAT_Z24_UNORM_S8_UINT, + PIPE_FORMAT_S8_UINT_Z24_UNORM, 0 } }, /* Depth / Stencil formats */ { { GL_DEPTH_STENCIL_EXT, GL_DEPTH24_STENCIL8_EXT, 0 }, - { PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 } + { PIPE_FORMAT_Z24_UNORM_S8_UINT, PIPE_FORMAT_S8_UINT_Z24_UNORM, 0 } }, { { GL_DEPTH32F_STENCIL8, 0 }, - { PIPE_FORMAT_Z32_FLOAT_S8X24_USCALED, 0 } + { PIPE_FORMAT_Z32_FLOAT_S8X24_UINT, 0 } }, /* sRGB formats */ @@ -1178,6 +1195,12 @@ static const struct format_mapping format_map[] = { { PIPE_FORMAT_LATC2_SNORM, 0 } }, + /* ETC1 */ + { + { GL_ETC1_RGB8_OES, 0 }, + { PIPE_FORMAT_ETC1_RGB8, 0 } + }, + /* signed/unsigned integer formats. */ { @@ -1463,7 +1486,11 @@ static const struct format_mapping format_map[] = { { { GL_R11F_G11F_B10F, 0 }, { PIPE_FORMAT_R11G11B10_FLOAT, 0 } - } + }, + { + { GL_RGB10_A2UI, 0 }, + { PIPE_FORMAT_B10G10R10A2_UINT, 0 } + }, };