Module: wine Branch: master Commit: 3bd0eb3eab26299f5af18a94d98ea131949e68e5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3bd0eb3eab26299f5af18a94d9...
Author: Stefan Dösinger stefan@codeweavers.com Date: Thu Aug 20 10:03:33 2015 +0200
wined3d: Use GL_RGB565 if available.
This offers better precision on r300g and r600g than GL_RGB5.
---
dlls/wined3d/directx.c | 7 +++++++ dlls/wined3d/utils.c | 5 +++++ dlls/wined3d/wined3d_gl.h | 1 + 3 files changed, 13 insertions(+)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 8e4448d..3f52300 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -116,6 +116,7 @@ static const struct wined3d_extension_map gl_extension_map[] = {"GL_ARB_draw_buffers", ARB_DRAW_BUFFERS }, {"GL_ARB_draw_elements_base_vertex", ARB_DRAW_ELEMENTS_BASE_VERTEX }, {"GL_ARB_draw_instanced", ARB_DRAW_INSTANCED }, + {"GL_ARB_ES2_compatibility", ARB_ES2_COMPATIBILITY }, {"GL_ARB_fragment_program", ARB_FRAGMENT_PROGRAM }, {"GL_ARB_fragment_shader", ARB_FRAGMENT_SHADER }, {"GL_ARB_framebuffer_object", ARB_FRAMEBUFFER_OBJECT }, @@ -2483,6 +2484,12 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) /* GL_ARB_draw_instanced */ USE_GL_FUNC(glDrawArraysInstancedARB) USE_GL_FUNC(glDrawElementsInstancedARB) + /* GL_ARB_ES2_compatibility */ + USE_GL_FUNC(glReleaseShaderCompiler) + USE_GL_FUNC(glShaderBinary) + USE_GL_FUNC(glGetShaderPrecisionFormat) + USE_GL_FUNC(glDepthRangef) + USE_GL_FUNC(glClearDepthf) /* GL_ARB_framebuffer_object */ USE_GL_FUNC(glBindFramebuffer) USE_GL_FUNC(glBindRenderbuffer) diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 0d4e878..ee4ccfd 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -1019,6 +1019,11 @@ static const struct wined3d_format_texture_info format_texture_info[] = WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING | WINED3DFMT_FLAG_RENDERTARGET, WINED3D_GL_EXT_NONE, NULL}, + {WINED3DFMT_B5G6R5_UNORM, GL_RGB565, GL_RGB565, GL_RGB8, + GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 0, + WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING + | WINED3DFMT_FLAG_RENDERTARGET, + ARB_ES2_COMPATIBILITY, NULL}, {WINED3DFMT_B5G5R5X1_UNORM, GL_RGB5, GL_RGB5_A1, 0, GL_BGRA, GL_UNSIGNED_SHORT_1_5_5_5_REV, 0, WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING, diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h index 8c07ed1..2be7262 100644 --- a/dlls/wined3d/wined3d_gl.h +++ b/dlls/wined3d/wined3d_gl.h @@ -52,6 +52,7 @@ enum wined3d_gl_extension ARB_DRAW_BUFFERS, ARB_DRAW_ELEMENTS_BASE_VERTEX, ARB_DRAW_INSTANCED, + ARB_ES2_COMPATIBILITY, ARB_FRAGMENT_PROGRAM, ARB_FRAGMENT_SHADER, ARB_FRAMEBUFFER_OBJECT,