Commit 10f58c14 authored by Roderick Colenbrander's avatar Roderick Colenbrander Committed by Alexandre Julliard

wined3d: Improve FBO support in ClearSurface.

parent 6f17fa52
......@@ -4377,6 +4377,29 @@ HRESULT IWineD3DDeviceImpl_ClearSurface(IWineD3DDeviceImpl *This, IWineD3DSurfac
}
context = context_acquire(This, (IWineD3DSurface *)target, CTXUSAGE_CLEAR);
if (wined3d_settings.offscreen_rendering_mode == ORM_FBO)
{
if (!surface_is_offscreen((IWineD3DSurface *)target))
{
TRACE("Surface %p is onscreen\n", target);
ENTER_GL();
context_bind_fbo(context, GL_FRAMEBUFFER, NULL);
context_set_draw_buffer(context, surface_get_gl_buffer((IWineD3DSurface *)target));
LEAVE_GL();
}
else
{
TRACE("Surface %p is offscreen\n", target);
ENTER_GL();
context_bind_fbo(context, GL_FRAMEBUFFER, &context->dst_fbo);
context_attach_surface_fbo(context, GL_FRAMEBUFFER, 0, (IWineD3DSurface *)target);
context_attach_depth_stencil_fbo(context, GL_FRAMEBUFFER, NULL, FALSE);
LEAVE_GL();
}
}
if (!context->valid)
{
context_release(context);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment