Module: wine Branch: master Commit: 437eb42ad215e7a6c48f03db20527c18f30da266 URL: https://gitlab.winehq.org/wine/wine/-/commit/437eb42ad215e7a6c48f03db20527c1...
Author: Zebediah Figura zfigura@codeweavers.com Date: Thu Mar 7 18:46:08 2024 -0600
wined3d: Require EXT_framebuffer_object.
---
dlls/wined3d/adapter_gl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c index 2d8018f8cc9..815879e356e 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c @@ -3783,6 +3783,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter_gl *adapter_gl, gl_info->fbo_ops.glBlitFramebuffer = gl_info->gl_ops.ext.p_glBlitFramebuffer; gl_info->fbo_ops.glGenerateMipmap = gl_info->gl_ops.ext.p_glGenerateMipmap; gl_info->fbo_ops.glFramebufferTexture = gl_info->gl_ops.ext.p_glFramebufferTexture; + + gl_info->supported[EXT_FRAMEBUFFER_OBJECT] = TRUE; } else { @@ -5299,6 +5301,16 @@ static BOOL wined3d_adapter_gl_init(struct wined3d_adapter_gl *adapter_gl, LUID primary_luid, *luid = NULL; unsigned int i;
+ static const struct + { + enum wined3d_gl_extension extension; + const char *string; + } + required_extensions[] = + { + {EXT_FRAMEBUFFER_OBJECT, "EXT_framebuffer_object"}, + }; + TRACE("adapter_gl %p, ordinal %u, wined3d_creation_flags %#x.\n", adapter_gl, ordinal, wined3d_creation_flags);
@@ -5357,6 +5369,16 @@ static BOOL wined3d_adapter_gl_init(struct wined3d_adapter_gl *adapter_gl, return FALSE; }
+ for (unsigned int i = 0; i < ARRAY_SIZE(required_extensions); ++i) + { + if (!gl_info->supported[required_extensions[i].extension]) + { + ERR("Required extension %s is not supported.\n", required_extensions[i].string); + wined3d_caps_gl_ctx_destroy(&caps_gl_ctx); + return FALSE; + } + } + gl_info->filling_convention_offset = wined3d_adapter_find_fill_offset(&caps_gl_ctx);
wined3d_adapter_gl_init_d3d_info(adapter_gl, wined3d_creation_flags);