wined3d: Attach the surfaces from the fbo_entry instead of the ones from the device.

Currently these are always the same, but that doesn't make it right.
This commit is contained in:
Henri Verbeet 2010-05-03 22:03:31 +02:00 committed by Alexandre Julliard
parent 3ab491f810
commit ff6cf84c40
1 changed files with 9 additions and 9 deletions

View File

@ -413,16 +413,16 @@ static void context_apply_fbo_entry(struct wined3d_context *context, struct fbo_
/* Apply render targets */
for (i = 0; i < gl_info->limits.buffers; ++i)
{
context_attach_surface_fbo(context, GL_FRAMEBUFFER, i, device->render_targets[i]);
context_attach_surface_fbo(context, GL_FRAMEBUFFER, i, entry->render_targets[i]);
}
/* Apply depth targets */
if (device->depth_stencil)
if (entry->depth_stencil)
{
surface_set_compatible_renderbuffer(device->depth_stencil,
device->render_targets[0]->pow2Width, device->render_targets[0]->pow2Height);
surface_set_compatible_renderbuffer(entry->depth_stencil,
entry->render_targets[0]->pow2Width, entry->render_targets[0]->pow2Height);
}
context_attach_depth_stencil_fbo(context, GL_FRAMEBUFFER, device->depth_stencil, TRUE);
context_attach_depth_stencil_fbo(context, GL_FRAMEBUFFER, entry->depth_stencil, TRUE);
entry->attached = TRUE;
}
@ -430,11 +430,11 @@ static void context_apply_fbo_entry(struct wined3d_context *context, struct fbo_
{
for (i = 0; i < gl_info->limits.buffers; ++i)
{
if (device->render_targets[i])
context_apply_attachment_filter_states(device->render_targets[i]);
if (entry->render_targets[i])
context_apply_attachment_filter_states(entry->render_targets[i]);
}
if (device->depth_stencil)
context_apply_attachment_filter_states(device->depth_stencil);
if (entry->depth_stencil)
context_apply_attachment_filter_states(entry->depth_stencil);
}
for (i = 0; i < gl_info->limits.buffers; ++i)