From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/tests/opengl.c | 6 +++--- dlls/opengl32/wgl.c | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/opengl32/tests/opengl.c b/dlls/opengl32/tests/opengl.c index 9b51b3cabe2..ab40a2c17b7 100644 --- a/dlls/opengl32/tests/opengl.c +++ b/dlls/opengl32/tests/opengl.c @@ -1483,9 +1483,9 @@ static void test_object_creation( HDC winhdc ) } if (!is_implicit_allowed( i, TRUE )) { - todo_wine_if( i == OBJ_FRAMEBUFFER || i == OBJ_RENDERBUFFER ) + todo_wine_if( i == OBJ_RENDERBUFFER ) ok_ret( GL_INVALID_OPERATION, glGetError() ); - if (!winetest_platform_is_wine || (i != OBJ_FRAMEBUFFER && i != OBJ_RENDERBUFFER)) + if (!winetest_platform_is_wine || i != OBJ_RENDERBUFFER) ok_ret( TRUE, create_object( i, 0, &obj ) ); } ok_ret( GL_NO_ERROR, glGetError() ); @@ -1514,7 +1514,7 @@ static void test_object_creation( HDC winhdc ) else { /* Wine never allows implicit allocation in core contexts */ - todo_wine_if( i == OBJ_FENCE_APPLE || i == OBJ_FENCE_NV || i == OBJ_FRAMEBUFFER_EXT || i == OBJ_PATH_NV || + todo_wine_if( i == OBJ_FENCE_APPLE || i == OBJ_FENCE_NV || i == OBJ_PATH_NV || i == OBJ_PROGRAM_ARB || i == OBJ_PROGRAM_NV || i == OBJ_SHADER_EXT || i == OBJ_SHADER_ATI || i == OBJ_RENDERBUFFER_EXT || i == OBJ_SEMAPHORE_EXT || i == OBJ_TRANSFORM_FEEDBACK_NV || i == OBJ_VERTEX_ARRAY_APPLE ) diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c index 436fa9db7a8..1afa0eadcbb 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c @@ -570,6 +570,7 @@ BOOL alloc_context_objects( enum object_type type, UINT n, const GLuint *handles /* only allow explicit allocation in some cases, use host allocated ids directly in that case */ if (ctx->base.profile_mask & WGL_CONTEXT_CORE_PROFILE_BIT_ARB) alloc_client = FALSE; + if (type == OBJ_TYPE_FRAMEBUFFER) alloc_client = extension; AcquireSRWLockShared( &table->lock ); for (UINT i = 0; i < n && !needs_client; i++) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11125