Henri Verbeet : wined3d: Add support for ARB_texture_compression_rgtc.
Alexandre Julliard
julliard at winehq.org
Fri Jul 30 10:24:13 CDT 2010
Module: wine
Branch: master
Commit: a99bf6c017a142c3ed8ff26f39936cd7b87b5181
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a99bf6c017a142c3ed8ff26f39936cd7b87b5181
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Fri Jul 30 10:15:27 2010 +0200
wined3d: Add support for ARB_texture_compression_rgtc.
---
dlls/wined3d/directx.c | 8 +++++++-
dlls/wined3d/utils.c | 4 ++--
dlls/wined3d/wined3d_gl.h | 10 ++++++++++
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 3e6e38d..4820737 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -77,6 +77,7 @@ static const struct {
{"GL_ARB_sync", ARB_SYNC, 0 },
{"GL_ARB_texture_border_clamp", ARB_TEXTURE_BORDER_CLAMP, 0 },
{"GL_ARB_texture_compression", ARB_TEXTURE_COMPRESSION, 0 },
+ {"GL_ARB_texture_compression_rgtc", ARB_TEXTURE_COMPRESSION_RGTC, 0 },
{"GL_ARB_texture_cube_map", ARB_TEXTURE_CUBE_MAP, 0 },
{"GL_ARB_texture_env_add", ARB_TEXTURE_ENV_ADD, 0 },
{"GL_ARB_texture_env_combine", ARB_TEXTURE_ENV_COMBINE, 0 },
@@ -2358,6 +2359,11 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_adapter *adapter)
TRACE_(d3d_caps)(" IMPLIED: ARB_vertex_array_bgra support (by EXT_vertex_array_bgra).\n");
gl_info->supported[ARB_VERTEX_ARRAY_BGRA] = TRUE;
}
+ if (!gl_info->supported[ARB_TEXTURE_COMPRESSION_RGTC && gl_info->supported[EXT_TEXTURE_COMPRESSION_RGTC]])
+ {
+ TRACE_(d3d_caps)(" IMPLIED: ARB_texture_compression_rgtc support (by EXT_texture_compression_rgtc).\n");
+ gl_info->supported[ARB_TEXTURE_COMPRESSION_RGTC] = TRUE;
+ }
if (gl_info->supported[NV_TEXTURE_SHADER2])
{
if (gl_info->supported[NV_REGISTER_COMBINERS])
@@ -3619,7 +3625,7 @@ static BOOL CheckTextureCapability(struct wined3d_adapter *adapter, const struct
/* Vendor specific formats */
case WINED3DFMT_ATI2N:
if (gl_info->supported[ATI_TEXTURE_COMPRESSION_3DC]
- || gl_info->supported[EXT_TEXTURE_COMPRESSION_RGTC])
+ || gl_info->supported[ARB_TEXTURE_COMPRESSION_RGTC])
{
if (adapter->shader_backend->shader_color_fixup_supported(format_desc->color_fixup)
&& adapter->fragment_pipe->color_fixup_supported(format_desc->color_fixup))
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 661139c..f2bb60e 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -847,10 +847,10 @@ static const struct wined3d_format_texture_info format_texture_info[] =
GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 0,
0,
ATI_TEXTURE_COMPRESSION_3DC, NULL},
- {WINED3DFMT_ATI2N, GL_COMPRESSED_RED_GREEN_RGTC2_EXT, GL_COMPRESSED_RED_GREEN_RGTC2_EXT, 0,
+ {WINED3DFMT_ATI2N, GL_COMPRESSED_RED_GREEN_RGTC2, GL_COMPRESSED_RED_GREEN_RGTC2, 0,
GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 0,
0,
- EXT_TEXTURE_COMPRESSION_RGTC, NULL},
+ ARB_TEXTURE_COMPRESSION_RGTC, NULL},
};
static inline int getFmtIdx(WINED3DFORMAT fmt) {
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index c76a753..7003a60 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -1760,6 +1760,7 @@ typedef enum wined3d_gl_extension
ARB_SYNC,
ARB_TEXTURE_BORDER_CLAMP,
ARB_TEXTURE_COMPRESSION,
+ ARB_TEXTURE_COMPRESSION_RGTC,
ARB_TEXTURE_CUBE_MAP,
ARB_TEXTURE_ENV_ADD,
ARB_TEXTURE_ENV_COMBINE,
@@ -2451,6 +2452,15 @@ typedef GLvoid (WINE_GLAPI *PGLFNGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsiz
#define GL_CLAMP_TO_BORDER_ARB 0x812d
#endif
+/* GL_ARB_texture_compression_rgtc */
+#ifndef GL_ARB_texture_compression_rgtc
+#define GL_ARB_texture_compression_rgtc 1
+#define GL_COMPRESSED_RED_RGTC1 0x8dbb
+#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8dbc
+#define GL_COMPRESSED_RED_GREEN_RGTC2 0x8dbd
+#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2 0x8dbe
+#endif
+
/* GL_ARB_texture_cube_map */
#ifndef GL_ARB_texture_cube_map
#define GL_ARB_texture_cube_map 1
More information about the wine-cvs
mailing list