--- src/mesa/main/format_utils.c | 24 ++++++++--- src/mesa/main/formats.c | 68 ++++++++++++++++---------------- src/mesa/main/texcompress_bptc.c | 7 +++- src/mesa/main/texcompress_fxt1.c | 7 +++- src/mesa/main/texcompress_rgtc.c | 14 +++++-- src/mesa/main/texcompress_s3tc.c | 21 +++++++--- src/mesa/main/texstore.c | 4 +- 7 files changed, 88 insertions(+), 57 deletions(-)
diff --git a/src/mesa/main/format_utils.c b/src/mesa/main/format_utils.c index 6959bf062a1..7802dbe3ff7 100644 --- a/src/mesa/main/format_utils.c +++ b/src/mesa/main/format_utils.c @@ -647,9 +647,9 @@ _mesa_format_convert(void *void_dst, uint32_t dst_format, size_t dst_stride, } } -static const uint8_t map_identity[7] = { 0, 1, 2, 3, 4, 5, 6 }; -static const uint8_t map_3210[7] = { 3, 2, 1, 0, 4, 5, 6 }; -static const uint8_t map_1032[7] = { 1, 0, 3, 2, 4, 5, 6 }; +MAYBE_UNUSED static const uint8_t map_identity[7] = { 0, 1, 2, 3, 4, 5, 6 }; +MAYBE_UNUSED static const uint8_t map_3210[7] = { 3, 2, 1, 0, 4, 5, 6 }; +MAYBE_UNUSED static const uint8_t map_1032[7] = { 1, 0, 3, 2, 4, 5, 6 }; /** * Describes a format as an array format, if possible @@ -700,10 +700,18 @@ _mesa_format_to_array(mesa_format format, GLenum *type, int *num_components, endian = map_identity; break; case 2: - endian = _mesa_little_endian() ? map_identity : map_1032; +#ifdef PIPE_ARCH_LITTLE_ENDIAN + endian = map_identity; +#else + endian = map_1032; +#endif break; case 4: - endian = _mesa_little_endian() ? map_identity : map_3210; +#ifdef PIPE_ARCH_LITTLE_ENDIAN + endian = map_identity; +#else + endian = map_3210; +#endif break; default: endian = map_identity; @@ -721,7 +729,11 @@ _mesa_format_to_array(mesa_format format, GLenum *type, int *num_components, endian = map_identity; break; case 2: - endian = _mesa_little_endian() ? map_identity : map_1032; +#ifdef PIPE_ARCH_LITTLE_ENDIAN + endian = map_identity; +#else + endian = map_1032; +#endif break; default: endian = map_identity; diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index cf2d2bc555a..494844c08be 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -415,10 +415,11 @@ uint32_t _mesa_format_to_array_format(mesa_format format) { const struct gl_format_info *info = _mesa_get_format_info(format); - if (info->ArrayFormat && !_mesa_little_endian() && - info->Layout == MESA_FORMAT_LAYOUT_PACKED) +#ifdef PIPE_ARCH_BIG_ENDIAN + if (info->ArrayFormat && info->Layout == MESA_FORMAT_LAYOUT_PACKED) return _mesa_array_format_flip_channels(info->ArrayFormat); else +#endif return info->ArrayFormat; } @@ -451,11 +452,11 @@ format_array_format_table_init(void) if (!info->ArrayFormat) continue; - if (_mesa_little_endian()) { +#ifdef PIPE_ARCH_LITTLE_ENDIAN array_format = info->ArrayFormat; - } else { +#else array_format = _mesa_array_format_flip_channels(info->ArrayFormat); - } +#endif /* This can happen and does for some of the BGR formats. Let's take * the first one in the list. @@ -1442,7 +1443,6 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, GLenum format, GLenum type, GLboolean swapBytes, GLenum *error) { - const GLboolean littleEndian = _mesa_little_endian(); if (error) *error = GL_NO_ERROR; @@ -1471,7 +1471,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, if (format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8_REV && swapBytes) return GL_TRUE; - if (format == GL_RGBA && type == GL_UNSIGNED_BYTE && !littleEndian) + if (format == GL_RGBA && type == GL_UNSIGNED_BYTE && !PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; if (format == GL_ABGR_EXT && type == GL_UNSIGNED_INT_8_8_8_8_REV @@ -1482,7 +1482,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, && swapBytes) return GL_TRUE; - if (format == GL_ABGR_EXT && type == GL_UNSIGNED_BYTE && littleEndian) + if (format == GL_ABGR_EXT && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; return GL_FALSE; @@ -1496,7 +1496,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, if (format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8 && swapBytes) return GL_TRUE; - if (format == GL_RGBA && type == GL_UNSIGNED_BYTE && littleEndian) + if (format == GL_RGBA && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; if (format == GL_ABGR_EXT && type == GL_UNSIGNED_INT_8_8_8_8 && @@ -1507,7 +1507,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, swapBytes) return GL_TRUE; - if (format == GL_ABGR_EXT && type == GL_UNSIGNED_BYTE && !littleEndian) + if (format == GL_ABGR_EXT && type == GL_UNSIGNED_BYTE && !PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; return GL_FALSE; @@ -1521,7 +1521,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, if (format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8 && swapBytes) return GL_TRUE; - if (format == GL_BGRA && type == GL_UNSIGNED_BYTE && littleEndian) + if (format == GL_BGRA && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; return GL_FALSE; @@ -1535,7 +1535,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, swapBytes) return GL_TRUE; - if (format == GL_BGRA && type == GL_UNSIGNED_BYTE && !littleEndian) + if (format == GL_BGRA && type == GL_UNSIGNED_BYTE && !PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; return GL_FALSE; @@ -1550,10 +1550,10 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, case MESA_FORMAT_BGR_UNORM8: case MESA_FORMAT_BGR_SRGB8: - return format == GL_BGR && type == GL_UNSIGNED_BYTE && littleEndian; + return format == GL_BGR && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN; case MESA_FORMAT_RGB_UNORM8: - return format == GL_RGB && type == GL_UNSIGNED_BYTE && littleEndian; + return format == GL_RGB && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN; case MESA_FORMAT_B5G6R5_UNORM: return ((format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5) || @@ -1592,13 +1592,13 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, return GL_FALSE; case MESA_FORMAT_L8A8_UNORM: case MESA_FORMAT_L8A8_SRGB: - return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_BYTE && littleEndian; + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN; case MESA_FORMAT_A8L8_UNORM: case MESA_FORMAT_A8L8_SRGB: return GL_FALSE; case MESA_FORMAT_L16A16_UNORM: - return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_SHORT && littleEndian && !swapBytes; + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_SHORT && PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_A16L16_UNORM: return GL_FALSE; @@ -1663,18 +1663,18 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, case MESA_FORMAT_YCBCR: return format == GL_YCBCR_MESA && - ((type == GL_UNSIGNED_SHORT_8_8_MESA && littleEndian != swapBytes) || - (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && littleEndian == swapBytes)); + ((type == GL_UNSIGNED_SHORT_8_8_MESA && PIPE_ARCH_LITTLE_ENDIAN != swapBytes) || + (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && PIPE_ARCH_LITTLE_ENDIAN == swapBytes)); case MESA_FORMAT_YCBCR_REV: return format == GL_YCBCR_MESA && - ((type == GL_UNSIGNED_SHORT_8_8_MESA && littleEndian == swapBytes) || - (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && littleEndian != swapBytes)); + ((type == GL_UNSIGNED_SHORT_8_8_MESA && PIPE_ARCH_LITTLE_ENDIAN == swapBytes) || + (type == GL_UNSIGNED_SHORT_8_8_REV_MESA && PIPE_ARCH_LITTLE_ENDIAN != swapBytes)); case MESA_FORMAT_R_UNORM8: case MESA_FORMAT_R_SRGB8: return format == GL_RED && type == GL_UNSIGNED_BYTE; case MESA_FORMAT_R8G8_UNORM: - return format == GL_RG && type == GL_UNSIGNED_BYTE && littleEndian; + return format == GL_RG && type == GL_UNSIGNED_BYTE && PIPE_ARCH_LITTLE_ENDIAN; case MESA_FORMAT_G8R8_UNORM: return GL_FALSE; @@ -1682,7 +1682,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, return format == GL_RED && type == GL_UNSIGNED_SHORT && !swapBytes; case MESA_FORMAT_R16G16_UNORM: - return format == GL_RG && type == GL_UNSIGNED_SHORT && littleEndian && + return format == GL_RG && type == GL_UNSIGNED_SHORT && PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_G16R16_UNORM: return GL_FALSE; @@ -1872,25 +1872,25 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, case MESA_FORMAT_R_SNORM8: return format == GL_RED && type == GL_BYTE; case MESA_FORMAT_R8G8_SNORM: - return format == GL_RG && type == GL_BYTE && littleEndian && + return format == GL_RG && type == GL_BYTE && PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_X8B8G8R8_SNORM: return GL_FALSE; case MESA_FORMAT_A8B8G8R8_SNORM: - if (format == GL_RGBA && type == GL_BYTE && !littleEndian) + if (format == GL_RGBA && type == GL_BYTE && !PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; - if (format == GL_ABGR_EXT && type == GL_BYTE && littleEndian) + if (format == GL_ABGR_EXT && type == GL_BYTE && PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; return GL_FALSE; case MESA_FORMAT_R8G8B8A8_SNORM: - if (format == GL_RGBA && type == GL_BYTE && littleEndian) + if (format == GL_RGBA && type == GL_BYTE && PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; - if (format == GL_ABGR_EXT && type == GL_BYTE && !littleEndian) + if (format == GL_ABGR_EXT && type == GL_BYTE && !PIPE_ARCH_LITTLE_ENDIAN) return GL_TRUE; return GL_FALSE; @@ -1899,7 +1899,7 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, return format == GL_RED && type == GL_SHORT && !swapBytes; case MESA_FORMAT_R16G16_SNORM: - return format == GL_RG && type == GL_SHORT && littleEndian && !swapBytes; + return format == GL_RG && type == GL_SHORT && PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_RGB_SNORM16: return format == GL_RGB && type == GL_SHORT && !swapBytes; case MESA_FORMAT_RGBA_SNORM16: @@ -1914,10 +1914,10 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, return format == GL_LUMINANCE && type == GL_BYTE; case MESA_FORMAT_L8A8_SNORM: return format == GL_LUMINANCE_ALPHA && type == GL_BYTE && - littleEndian && !swapBytes; + PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_A8L8_SNORM: return format == GL_LUMINANCE_ALPHA && type == GL_BYTE && - !littleEndian && !swapBytes; + !PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_I_SNORM8: return format == GL_RED && type == GL_BYTE; case MESA_FORMAT_A_SNORM16: @@ -1926,9 +1926,9 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, return format == GL_LUMINANCE && type == GL_SHORT && !swapBytes; case MESA_FORMAT_LA_SNORM16: return format == GL_LUMINANCE_ALPHA && type == GL_SHORT && - littleEndian && !swapBytes; + PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_I_SNORM16: - return format == GL_RED && type == GL_SHORT && littleEndian && + return format == GL_RED && type == GL_SHORT && PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_B10G10R10A2_UINT: @@ -2072,11 +2072,11 @@ _mesa_format_matches_format_and_type(mesa_format mesa_format, !swapBytes; case MESA_FORMAT_G8R8_SNORM: - return format == GL_RG && type == GL_BYTE && !littleEndian && + return format == GL_RG && type == GL_BYTE && !PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_G16R16_SNORM: - return format == GL_RG && type == GL_SHORT && !littleEndian && + return format == GL_RG && type == GL_SHORT && !PIPE_ARCH_LITTLE_ENDIAN && !swapBytes; case MESA_FORMAT_B8G8R8X8_SRGB: diff --git a/src/mesa/main/texcompress_bptc.c b/src/mesa/main/texcompress_bptc.c index 46279f144ff..319096970f8 100644 --- a/src/mesa/main/texcompress_bptc.c +++ b/src/mesa/main/texcompress_bptc.c @@ -142,8 +142,11 @@ _mesa_texstore_bptc_rgba_unorm(TEXSTORE_PARAMS) tempImageSlices[0] = (GLubyte *) tempImage; _mesa_texstore(ctx, dims, baseInternalFormat, - _mesa_little_endian() ? MESA_FORMAT_R8G8B8A8_UNORM - : MESA_FORMAT_A8B8G8R8_UNORM, +#ifdef PIPE_ARCH_LITTLE_ENDIAN + MESA_FORMAT_R8G8B8A8_UNORM, +#else + MESA_FORMAT_A8B8G8R8_UNORM, +#endif rgbaRowStride, tempImageSlices, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, diff --git a/src/mesa/main/texcompress_fxt1.c b/src/mesa/main/texcompress_fxt1.c index 19df6baf371..61e047c2648 100644 --- a/src/mesa/main/texcompress_fxt1.c +++ b/src/mesa/main/texcompress_fxt1.c @@ -132,8 +132,11 @@ _mesa_texstore_rgba_fxt1(TEXSTORE_PARAMS) tempImageSlices[0] = (GLubyte *) tempImage; _mesa_texstore(ctx, dims, baseInternalFormat, - _mesa_little_endian() ? MESA_FORMAT_R8G8B8A8_UNORM - : MESA_FORMAT_A8B8G8R8_UNORM, +#ifdef PIPE_ARCH_LITTLE_ENDIAN + MESA_FORMAT_R8G8B8A8_UNORM, +#else + MESA_FORMAT_A8B8G8R8_UNORM, +#endif rgbaRowStride, tempImageSlices, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, diff --git a/src/mesa/main/texcompress_rgtc.c b/src/mesa/main/texcompress_rgtc.c index 843b42e54e6..eab43943512 100644 --- a/src/mesa/main/texcompress_rgtc.c +++ b/src/mesa/main/texcompress_rgtc.c @@ -197,11 +197,17 @@ _mesa_texstore_rg_rgtc2(TEXSTORE_PARAMS) dstFormat == MESA_FORMAT_LA_LATC2_UNORM); if (baseInternalFormat == GL_RG) - tempFormat = _mesa_little_endian() ? MESA_FORMAT_R8G8_UNORM - : MESA_FORMAT_G8R8_UNORM; +#ifdef PIPE_ARCH_LITTLE_ENDIAN + tempFormat = MESA_FORMAT_R8G8_UNORM; +#else + tempFormat = MESA_FORMAT_G8R8_UNORM; +#endif else - tempFormat = _mesa_little_endian() ? MESA_FORMAT_L8A8_UNORM - : MESA_FORMAT_A8L8_UNORM; +#ifdef PIPE_ARCH_LITTLE_ENDIAN + tempFormat = MESA_FORMAT_L8A8_UNORM; +#else + tempFormat = MESA_FORMAT_A8L8_UNORM; +#endif rgRowStride = 2 * srcWidth * sizeof(GLubyte); tempImage = malloc(srcWidth * srcHeight * 2 * sizeof(GLubyte)); diff --git a/src/mesa/main/texcompress_s3tc.c b/src/mesa/main/texcompress_s3tc.c index 1c6cbba892a..11f75e5352e 100644 --- a/src/mesa/main/texcompress_s3tc.c +++ b/src/mesa/main/texcompress_s3tc.c @@ -121,8 +121,11 @@ _mesa_texstore_rgba_dxt1(TEXSTORE_PARAMS) tempImageSlices[0] = (GLubyte *) tempImage; _mesa_texstore(ctx, dims, baseInternalFormat, - _mesa_little_endian() ? MESA_FORMAT_R8G8B8A8_UNORM - : MESA_FORMAT_A8B8G8R8_UNORM, +#ifdef PIPE_ARCH_LITTLE_ENDIAN + MESA_FORMAT_R8G8B8A8_UNORM, +#else + MESA_FORMAT_A8B8G8R8_UNORM, +#endif rgbaRowStride, tempImageSlices, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, @@ -174,8 +177,11 @@ _mesa_texstore_rgba_dxt3(TEXSTORE_PARAMS) tempImageSlices[0] = (GLubyte *) tempImage; _mesa_texstore(ctx, dims, baseInternalFormat, - _mesa_little_endian() ? MESA_FORMAT_R8G8B8A8_UNORM - : MESA_FORMAT_A8B8G8R8_UNORM, +#ifdef PIPE_ARCH_LITTLE_ENDIAN + MESA_FORMAT_R8G8B8A8_UNORM, +#else + MESA_FORMAT_A8B8G8R8_UNORM, +#endif rgbaRowStride, tempImageSlices, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, @@ -226,8 +232,11 @@ _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS) tempImageSlices[0] = (GLubyte *) tempImage; _mesa_texstore(ctx, dims, baseInternalFormat, - _mesa_little_endian() ? MESA_FORMAT_R8G8B8A8_UNORM - : MESA_FORMAT_A8B8G8R8_UNORM, +#ifdef PIPE_ARCH_LITTLE_ENDIAN + MESA_FORMAT_R8G8B8A8_UNORM, +#else + MESA_FORMAT_A8B8G8R8_UNORM, +#endif rgbaRowStride, tempImageSlices, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index 2913d4bc067..5cd1abfdbeb 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -280,8 +280,6 @@ _mesa_texstore_z16(TEXSTORE_PARAMS) static GLboolean _mesa_texstore_ycbcr(TEXSTORE_PARAMS) { - const GLboolean littleEndian = _mesa_little_endian(); - (void) ctx; (void) dims; (void) baseInternalFormat; assert((dstFormat == MESA_FORMAT_YCBCR) || @@ -305,7 +303,7 @@ _mesa_texstore_ycbcr(TEXSTORE_PARAMS) if (srcPacking->SwapBytes ^ (srcType == GL_UNSIGNED_SHORT_8_8_REV_MESA) ^ (dstFormat == MESA_FORMAT_YCBCR_REV) ^ - !littleEndian) { + !PIPE_ARCH_LITTLE_ENDIAN) { GLint img, row; for (img = 0; img < srcDepth; img++) { GLubyte *dstRow = dstSlices[img]; -- 2.19.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev