On 12 April 2010 12:44, Roderick Colenbrander thunderbird2k@gmail.com wrote:
- 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);
- context = context_acquire(This, (IWineD3DSurface *)target, CTXUSAGE_RESOURCELOAD);
- 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);
- context = context_acquire(This, NULL, CTXUSAGE_RESOURCELOAD);
- 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();
- }
- }
- else
- {
- context = context_acquire(This, (IWineD3DSurface *)target, CTXUSAGE_CLEAR);
- }
That doesn't work of course, CTXUSAGE_CLEAR isn't there just for show.