mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 01:10:16 +01:00
mesa: inline r200 radeon texture format macros to facility search and replace
Signed-off-by: Mark Mueller <MarkKMueller@gmail.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
fcefdc9a59
commit
852db050b9
2 changed files with 70 additions and 102 deletions
|
|
@ -60,20 +60,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define R200_TXFORMAT_RGBA_DXT3 R200_TXFORMAT_DXT23
|
||||
#define R200_TXFORMAT_RGBA_DXT5 R200_TXFORMAT_DXT45
|
||||
|
||||
#define _COLOR(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { R200_TXFORMAT_ ## f, 0 }
|
||||
#define _COLOR_REV(f) \
|
||||
[ MESA_FORMAT_ ## f ## _REV ] = { R200_TXFORMAT_ ## f, 0 }
|
||||
#define _ALPHA(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { R200_TXFORMAT_ ## f | R200_TXFORMAT_ALPHA_IN_MAP, 0 }
|
||||
#define _ALPHA_REV(f) \
|
||||
[ MESA_FORMAT_ ## f ## _REV ] = { R200_TXFORMAT_ ## f | R200_TXFORMAT_ALPHA_IN_MAP, 0 }
|
||||
#define _YUV(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { R200_TXFORMAT_ ## f, R200_YUV_TO_RGB }
|
||||
#define _INVALID(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { 0xffffffff, 0 }
|
||||
#define VALID_FORMAT(f) ( ((f) <= MESA_FORMAT_RGBA_DXT5) \
|
||||
&& (tx_table_be[f].format != 0xffffffff) )
|
||||
&& (tx_table_be[f].format != 0xffffffff) )
|
||||
|
||||
struct tx_table {
|
||||
GLuint format, filter;
|
||||
|
|
@ -82,63 +70,59 @@ struct tx_table {
|
|||
static const struct tx_table tx_table_be[] =
|
||||
{
|
||||
[ MESA_FORMAT_RGBA8888 ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
_ALPHA_REV(RGBA8888),
|
||||
_ALPHA(ARGB8888),
|
||||
_ALPHA_REV(ARGB8888),
|
||||
_INVALID(RGB888),
|
||||
_COLOR(RGB565),
|
||||
_COLOR_REV(RGB565),
|
||||
_ALPHA(ARGB4444),
|
||||
_ALPHA_REV(ARGB4444),
|
||||
_ALPHA(ARGB1555),
|
||||
_ALPHA_REV(ARGB1555),
|
||||
_ALPHA(AL88),
|
||||
_ALPHA_REV(AL88),
|
||||
_ALPHA(A8),
|
||||
_COLOR(L8),
|
||||
_ALPHA(I8),
|
||||
_YUV(YCBCR),
|
||||
_YUV(YCBCR_REV),
|
||||
_INVALID(RGB_FXT1),
|
||||
_INVALID(RGBA_FXT1),
|
||||
_COLOR(RGB_DXT1),
|
||||
_ALPHA(RGBA_DXT1),
|
||||
_ALPHA(RGBA_DXT3),
|
||||
_ALPHA(RGBA_DXT5),
|
||||
[ MESA_FORMAT_RGBA8888_REV ] = { R200_TXFORMAT_RGBA8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB8888 ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB8888_REV ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGB888 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGB565 ] = { R200_TXFORMAT_RGB565, 0 },
|
||||
[ MESA_FORMAT_RGB565_REV ] = { R200_TXFORMAT_RGB565, 0 },
|
||||
[ MESA_FORMAT_ARGB4444 ] = { R200_TXFORMAT_ARGB4444 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB4444_REV ] = { R200_TXFORMAT_ARGB4444 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB1555 ] = { R200_TXFORMAT_ARGB1555 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB1555_REV ] = { R200_TXFORMAT_ARGB1555 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_AL88 ] = { R200_TXFORMAT_AL88 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_AL88_REV ] = { R200_TXFORMAT_AL88 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_A8 ] = { R200_TXFORMAT_A8 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_L8 ] = { R200_TXFORMAT_L8, 0 },
|
||||
[ MESA_FORMAT_I8 ] = { R200_TXFORMAT_I8 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_YCBCR ] = { R200_TXFORMAT_YCBCR, R200_YUV_TO_RGB },
|
||||
[ MESA_FORMAT_YCBCR_REV ] = { R200_TXFORMAT_YCBCR_REV, R200_YUV_TO_RGB },
|
||||
[ MESA_FORMAT_RGB_FXT1 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGBA_FXT1 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGB_DXT1 ] = { R200_TXFORMAT_RGB_DXT1, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT1 ] = { R200_TXFORMAT_RGBA_DXT1 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT3 ] = { R200_TXFORMAT_RGBA_DXT3 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT5 ] = { R200_TXFORMAT_RGBA_DXT5 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
};
|
||||
|
||||
static const struct tx_table tx_table_le[] =
|
||||
{
|
||||
_ALPHA(RGBA8888),
|
||||
[ MESA_FORMAT_RGBA8888 ] = { R200_TXFORMAT_RGBA8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA8888_REV ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
_ALPHA(ARGB8888),
|
||||
_ALPHA_REV(ARGB8888),
|
||||
[ MESA_FORMAT_ARGB8888 ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB8888_REV ] = { R200_TXFORMAT_ARGB8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGB888 ] = { R200_TXFORMAT_ARGB8888, 0 },
|
||||
_COLOR(RGB565),
|
||||
_COLOR_REV(RGB565),
|
||||
_ALPHA(ARGB4444),
|
||||
_ALPHA_REV(ARGB4444),
|
||||
_ALPHA(ARGB1555),
|
||||
_ALPHA_REV(ARGB1555),
|
||||
_ALPHA(AL88),
|
||||
_ALPHA_REV(AL88),
|
||||
_ALPHA(A8),
|
||||
_COLOR(L8),
|
||||
_ALPHA(I8),
|
||||
_YUV(YCBCR),
|
||||
_YUV(YCBCR_REV),
|
||||
_INVALID(RGB_FXT1),
|
||||
_INVALID(RGBA_FXT1),
|
||||
_COLOR(RGB_DXT1),
|
||||
_ALPHA(RGBA_DXT1),
|
||||
_ALPHA(RGBA_DXT3),
|
||||
_ALPHA(RGBA_DXT5),
|
||||
[ MESA_FORMAT_RGB565 ] = { R200_TXFORMAT_RGB565, 0 },
|
||||
[ MESA_FORMAT_RGB565_REV ] = { R200_TXFORMAT_RGB565, 0 },
|
||||
[ MESA_FORMAT_ARGB4444 ] = { R200_TXFORMAT_ARGB4444 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB4444_REV ] = { R200_TXFORMAT_ARGB4444 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB1555 ] = { R200_TXFORMAT_ARGB1555 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB1555_REV ] = { R200_TXFORMAT_ARGB1555 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_AL88 ] = { R200_TXFORMAT_AL88 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_AL88_REV ] = { R200_TXFORMAT_AL88 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_A8 ] = { R200_TXFORMAT_A8 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_L8 ] = { R200_TXFORMAT_L8, 0 },
|
||||
[ MESA_FORMAT_I8 ] = { R200_TXFORMAT_I8 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_YCBCR ] = { R200_TXFORMAT_YCBCR, R200_YUV_TO_RGB },
|
||||
[ MESA_FORMAT_YCBCR_REV ] = { R200_TXFORMAT_YCBCR_REV, R200_YUV_TO_RGB },
|
||||
[ MESA_FORMAT_RGB_FXT1 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGBA_FXT1 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGB_DXT1 ] = { R200_TXFORMAT_RGB_DXT1, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT1 ] = { R200_TXFORMAT_RGBA_DXT1 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT3 ] = { R200_TXFORMAT_RGBA_DXT3 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT5 ] = { R200_TXFORMAT_RGBA_DXT5 | R200_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
};
|
||||
|
||||
#undef _COLOR
|
||||
#undef _ALPHA
|
||||
#undef _INVALID
|
||||
|
||||
/* ================================================================
|
||||
* Texture combine functions
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -63,18 +63,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define RADEON_TXFORMAT_RGBA_DXT3 RADEON_TXFORMAT_DXT23
|
||||
#define RADEON_TXFORMAT_RGBA_DXT5 RADEON_TXFORMAT_DXT45
|
||||
|
||||
#define _COLOR(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { RADEON_TXFORMAT_ ## f, 0 }
|
||||
#define _COLOR_REV(f) \
|
||||
[ MESA_FORMAT_ ## f ## _REV ] = { RADEON_TXFORMAT_ ## f, 0 }
|
||||
#define _ALPHA(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { RADEON_TXFORMAT_ ## f | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 }
|
||||
#define _ALPHA_REV(f) \
|
||||
[ MESA_FORMAT_ ## f ## _REV ] = { RADEON_TXFORMAT_ ## f | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 }
|
||||
#define _YUV(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { RADEON_TXFORMAT_ ## f, RADEON_YUV_TO_RGB }
|
||||
#define _INVALID(f) \
|
||||
[ MESA_FORMAT_ ## f ] = { 0xffffffff, 0 }
|
||||
#define VALID_FORMAT(f) ( ((f) <= MESA_FORMAT_RGBA_DXT5) \
|
||||
&& (tx_table[f].format != 0xffffffff) )
|
||||
|
||||
|
|
@ -85,37 +73,33 @@ struct tx_table {
|
|||
/* XXX verify this table against MESA_FORMAT_x values */
|
||||
static const struct tx_table tx_table[] =
|
||||
{
|
||||
_INVALID(NONE), /* MESA_FORMAT_NONE */
|
||||
_ALPHA(RGBA8888),
|
||||
_ALPHA_REV(RGBA8888),
|
||||
_ALPHA(ARGB8888),
|
||||
_ALPHA_REV(ARGB8888),
|
||||
[ MESA_FORMAT_NONE ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGBA8888 ] = { RADEON_TXFORMAT_RGBA8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA8888_REV ] = { RADEON_TXFORMAT_RGBA8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB8888 ] = { RADEON_TXFORMAT_ARGB8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB8888_REV ] = { RADEON_TXFORMAT_ARGB8888 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGB888 ] = { RADEON_TXFORMAT_ARGB8888, 0 },
|
||||
_COLOR(RGB565),
|
||||
_COLOR_REV(RGB565),
|
||||
_ALPHA(ARGB4444),
|
||||
_ALPHA_REV(ARGB4444),
|
||||
_ALPHA(ARGB1555),
|
||||
_ALPHA_REV(ARGB1555),
|
||||
_ALPHA(AL88),
|
||||
_ALPHA_REV(AL88),
|
||||
_ALPHA(A8),
|
||||
_COLOR(L8),
|
||||
_ALPHA(I8),
|
||||
_YUV(YCBCR),
|
||||
_YUV(YCBCR_REV),
|
||||
_INVALID(RGB_FXT1),
|
||||
_INVALID(RGBA_FXT1),
|
||||
_COLOR(RGB_DXT1),
|
||||
_ALPHA(RGBA_DXT1),
|
||||
_ALPHA(RGBA_DXT3),
|
||||
_ALPHA(RGBA_DXT5),
|
||||
[ MESA_FORMAT_RGB565 ] = { RADEON_TXFORMAT_RGB565, 0 },
|
||||
[ MESA_FORMAT_RGB565_REV ] = { RADEON_TXFORMAT_RGB565, 0 },
|
||||
[ MESA_FORMAT_ARGB4444 ] = { RADEON_TXFORMAT_ARGB4444 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB4444_REV ] = { RADEON_TXFORMAT_ARGB4444 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB1555 ] = { RADEON_TXFORMAT_ARGB1555 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_ARGB1555_REV ] = { RADEON_TXFORMAT_ARGB1555 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_AL88 ] = { RADEON_TXFORMAT_AL88 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_AL88_REV ] = { RADEON_TXFORMAT_AL88 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_A8 ] = { RADEON_TXFORMAT_A8 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_L8 ] = { RADEON_TXFORMAT_L8, 0 },
|
||||
[ MESA_FORMAT_I8 ] = { RADEON_TXFORMAT_I8 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_YCBCR ] = { RADEON_TXFORMAT_YCBCR, RADEON_YUV_TO_RGB },
|
||||
[ MESA_FORMAT_YCBCR_REV ] = { RADEON_TXFORMAT_YCBCR_REV, RADEON_YUV_TO_RGB },
|
||||
[ MESA_FORMAT_RGB_FXT1 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGBA_FXT1 ] = { 0xffffffff, 0 },
|
||||
[ MESA_FORMAT_RGB_DXT1 ] = { RADEON_TXFORMAT_RGB_DXT1, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT1 ] = { RADEON_TXFORMAT_RGBA_DXT1 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT3 ] = { RADEON_TXFORMAT_RGBA_DXT3 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
[ MESA_FORMAT_RGBA_DXT5 ] = { RADEON_TXFORMAT_RGBA_DXT5 | RADEON_TXFORMAT_ALPHA_IN_MAP, 0 },
|
||||
};
|
||||
|
||||
#undef _COLOR
|
||||
#undef _ALPHA
|
||||
#undef _INVALID
|
||||
|
||||
/* ================================================================
|
||||
* Texture combine functions
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue