From b6bf7e751cf9dcc77034c190c29facf03abb758d Mon Sep 17 00:00:00 2001 From: espes Date: Fri, 2 May 2014 04:06:46 +1000 Subject: [PATCH] few extra texture formats courtesy of blueshogun --- hw/xbox/nv2a.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/xbox/nv2a.c b/hw/xbox/nv2a.c index 97b29dc0f8..9a49c15517 100644 --- a/hw/xbox/nv2a.c +++ b/hw/xbox/nv2a.c @@ -491,13 +491,16 @@ # define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_R5G6B5 0x05 # define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8R8G8B8 0x06 # define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_X8R8G8B8 0x07 +# define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_I8_A8R8G8B8 0x0B # define NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT1_A1R5G5B5 0x0C # define NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT23_A8R8G8B8 0x0E +# define NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT45_A8R8G8B8 0x0F # define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R5G6B5 0x11 # define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8R8G8B8 0x12 # define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8 0x19 # define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_X8R8G8B8 0x1E # define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_DEPTH_Y16_FIXED 0x30 +# define NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8B8G8R8 0x3A # define NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8B8G8R8 0x3F # define NV097_SET_TEXTURE_FORMAT_MIPMAP_LEVELS 0x000F0000 # define NV097_SET_TEXTURE_FORMAT_BASE_SIZE_U 0x00F00000 @@ -600,10 +603,16 @@ static const ColorFormatInfo kelvin_color_format_map[66] = { [NV097_SET_TEXTURE_FORMAT_COLOR_SZ_X8R8G8B8] = {4, false, GL_RGB, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV}, + /* TODO: 8-bit palettized textures */ + [NV097_SET_TEXTURE_FORMAT_COLOR_SZ_I8_A8R8G8B8] = + {1, false, GL_LUMINANCE8, GL_LUMINANCE, GL_UNSIGNED_BYTE }, + [NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT1_A1R5G5B5] = {4, false, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, 0, GL_RGBA}, [NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT23_A8R8G8B8] = {4, false, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, 0, GL_RGBA}, + [NV097_SET_TEXTURE_FORMAT_COLOR_L_DXT45_A8R8G8B8] = + {4, false, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 0, GL_RGBA}, [NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_R5G6B5] = {2, true, GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5_REV}, @@ -616,6 +625,8 @@ static const ColorFormatInfo kelvin_color_format_map[66] = { {4, true, GL_RGB, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV}, [NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_DEPTH_Y16_FIXED] = {2, true, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, GL_SHORT}, + [NV097_SET_TEXTURE_FORMAT_COLOR_SZ_A8B8G8R8] = + {4, false, GL_RGBA, GL_ABGR_EXT, GL_UNSIGNED_BYTE }, [NV097_SET_TEXTURE_FORMAT_COLOR_LU_IMAGE_A8B8G8R8] = {4, true, GL_RGBA, GL_ABGR_EXT, GL_UNSIGNED_BYTE } };