Kimmo Myllyvirta : wined3d: Add support for WINED3DFMT_BC7_UNORM format.
Alexandre Julliard
julliard at winehq.org
Wed Aug 24 12:05:17 CDT 2016
Module: wine
Branch: master
Commit: 27f5bc5bbcc6381879699920ff938eec440e336e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=27f5bc5bbcc6381879699920ff938eec440e336e
Author: Kimmo Myllyvirta <kimmo.myllyvirta at gmail.com>
Date: Sat Aug 20 09:24:23 2016 +0300
wined3d: Add support for WINED3DFMT_BC7_UNORM format.
Signed-off-by: Kimmo Myllyvirta <kimmo.myllyvirta at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/directx.c | 2 ++
dlls/wined3d/utils.c | 9 +++++++++
dlls/wined3d/wined3d_gl.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 50fb50d..9ff88a8 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -147,6 +147,7 @@ static const struct wined3d_extension_map gl_extension_map[] =
{"GL_ARB_sync", ARB_SYNC },
{"GL_ARB_texture_border_clamp", ARB_TEXTURE_BORDER_CLAMP },
{"GL_ARB_texture_compression", ARB_TEXTURE_COMPRESSION },
+ {"GL_ARB_texture_compression_bptc", ARB_TEXTURE_COMPRESSION_BPTC },
{"GL_ARB_texture_compression_rgtc", ARB_TEXTURE_COMPRESSION_RGTC },
{"GL_ARB_texture_cube_map", ARB_TEXTURE_CUBE_MAP },
{"GL_ARB_texture_env_combine", ARB_TEXTURE_ENV_COMBINE },
@@ -3563,6 +3564,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, DWORD
{ARB_INTERNALFORMAT_QUERY, MAKEDWORD_VERSION(4, 2)},
{ARB_MAP_BUFFER_ALIGNMENT, MAKEDWORD_VERSION(4, 2)},
+ {ARB_TEXTURE_COMPRESSION_BPTC, MAKEDWORD_VERSION(4, 2)},
{ARB_TEXTURE_STORAGE, MAKEDWORD_VERSION(4, 2)},
{ARB_DEBUG_OUTPUT, MAKEDWORD_VERSION(4, 3)},
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index f02220c..009fcd0 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -169,6 +169,7 @@ static const struct wined3d_format_channels formats[] =
{WINED3DFMT_BC3_TYPELESS, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{WINED3DFMT_BC4_TYPELESS, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{WINED3DFMT_BC5_TYPELESS, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
+ {WINED3DFMT_BC7_TYPELESS, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{WINED3DFMT_B8G8R8A8_TYPELESS, 8, 8, 8, 8, 16, 8, 0, 24, 4, 0, 0},
{WINED3DFMT_B8G8R8X8_TYPELESS, 8, 8, 8, 0, 16, 8, 0, 0, 4, 0, 0},
};
@@ -256,6 +257,8 @@ static const struct wined3d_typed_format_info typed_formats[] =
{WINED3DFMT_BC3_UNORM, WINED3DFMT_BC3_TYPELESS, ""},
{WINED3DFMT_BC4_UNORM, WINED3DFMT_BC4_TYPELESS, ""},
{WINED3DFMT_BC5_UNORM, WINED3DFMT_BC5_TYPELESS, ""},
+ {WINED3DFMT_BC7_UNORM_SRGB, WINED3DFMT_BC7_TYPELESS, ""},
+ {WINED3DFMT_BC7_UNORM, WINED3DFMT_BC7_TYPELESS, ""},
{WINED3DFMT_B8G8R8A8_UNORM_SRGB, WINED3DFMT_B8G8R8A8_TYPELESS, "uuuu"},
{WINED3DFMT_B8G8R8A8_UNORM, WINED3DFMT_B8G8R8A8_TYPELESS, "uuuu"},
{WINED3DFMT_B8G8R8X8_UNORM_SRGB, WINED3DFMT_B8G8R8X8_TYPELESS, "uuuX"},
@@ -318,6 +321,7 @@ static const struct wined3d_format_block_info format_block_info[] =
{WINED3DFMT_BC3_UNORM, 4, 4, 16, TRUE},
{WINED3DFMT_BC4_UNORM, 4, 4, 8, TRUE},
{WINED3DFMT_BC5_UNORM, 4, 4, 16, TRUE},
+ {WINED3DFMT_BC7_UNORM, 4, 4, 16, TRUE},
{WINED3DFMT_ATI1N, 4, 4, 8, FALSE},
{WINED3DFMT_ATI2N, 4, 4, 16, FALSE},
{WINED3DFMT_YUY2, 2, 1, 4, FALSE},
@@ -1115,6 +1119,11 @@ static const struct wined3d_format_texture_info format_texture_info[] =
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
| WINED3DFMT_FLAG_COMPRESSED,
ARB_TEXTURE_COMPRESSION_RGTC, NULL},
+ {WINED3DFMT_BC7_UNORM, GL_COMPRESSED_RGBA_BPTC_UNORM_ARB, GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, 0,
+ WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
+ | WINED3DFMT_FLAG_COMPRESSED,
+ ARB_TEXTURE_COMPRESSION_BPTC, NULL},
/* IEEE formats */
{WINED3DFMT_R32_FLOAT, GL_RGB32F_ARB, GL_RGB32F_ARB, 0,
GL_RED, GL_FLOAT, 0,
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index 34bf88d..67ab6f7 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -82,6 +82,7 @@ enum wined3d_gl_extension
ARB_SYNC,
ARB_TEXTURE_BORDER_CLAMP,
ARB_TEXTURE_COMPRESSION,
+ ARB_TEXTURE_COMPRESSION_BPTC,
ARB_TEXTURE_COMPRESSION_RGTC,
ARB_TEXTURE_CUBE_MAP,
ARB_TEXTURE_ENV_COMBINE,
More information about the wine-cvs
mailing list