wined3d: Use GL_APPLE_flush_render and GL_APPLE_rgb_422 to detect Apple OpenGL.

In addition to the existing GL_APPLE_ycbcr_422. Core contexts on Mac OS don't
advertise GL_APPLE_fence or GL_APPLE_ycbcr_422... but they do have
GL_APPLE_flush_render and GL_APPLE_rgb_422. So, go back to using
GL_APPLE_flush_render in our OS X detection, and accept GL_APPLE_rgb_422 in
addition to GL_APPLE_ycbcr_422.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Chip Davis 2020-04-10 21:33:50 +04:30 committed by Alexandre Julliard
parent 526e1138fc
commit 2929a3a056
2 changed files with 6 additions and 1 deletions

View File

@ -53,6 +53,8 @@ static const struct wined3d_extension_map gl_extension_map[] =
{"GL_APPLE_fence", APPLE_FENCE },
{"GL_APPLE_float_pixels", APPLE_FLOAT_PIXELS },
{"GL_APPLE_flush_buffer_range", APPLE_FLUSH_BUFFER_RANGE },
{"GL_APPLE_flush_render", APPLE_FLUSH_RENDER },
{"GL_APPLE_rgb_422", APPLE_RGB_422 },
{"GL_APPLE_ycbcr_422", APPLE_YCBCR_422 },
/* ARB */
@ -1225,7 +1227,8 @@ static enum wined3d_gl_vendor wined3d_guess_gl_vendor(const struct wined3d_gl_in
* is specific to the Mac OS X window management, and GL_APPLE_ycbcr_422 is QuickTime specific. So
* the chance that other implementations support them is rather small since Win32 QuickTime uses
* DirectDraw, not OpenGL. */
if (gl_info->supported[APPLE_FENCE] && gl_info->supported[APPLE_YCBCR_422])
if (gl_info->supported[APPLE_FLUSH_RENDER]
&& (gl_info->supported[APPLE_YCBCR_422] || gl_info->supported[APPLE_RGB_422]))
return GL_VENDOR_APPLE;
if (strstr(gl_vendor_string, "NVIDIA"))

View File

@ -37,6 +37,8 @@ enum wined3d_gl_extension
APPLE_FENCE,
APPLE_FLOAT_PIXELS,
APPLE_FLUSH_BUFFER_RANGE,
APPLE_FLUSH_RENDER,
APPLE_RGB_422,
APPLE_YCBCR_422,
/* ARB */
ARB_BASE_INSTANCE,