Commit Graph

288 Commits

Author SHA1 Message Date
Henri Verbeet d374d85055 wined3d: Clear all render targets in an MRT setup. 2010-07-23 11:46:47 +02:00
Stefan Dösinger 6b794cbd64 wined3d: Only perform sRGB write correction on formats that advertise it. 2010-07-22 10:22:26 +02:00
Henri Verbeet 4817a65091 wined3d: Preload resources before FBO setup. 2010-07-22 10:13:30 +02:00
Henri Verbeet f7760656f3 wined3d: Remove LoadLocation() from the public wined3d surface interface. 2010-07-22 10:13:24 +02:00
Henri Verbeet 147f24dd78 wined3d: Remove ModifyLocation() from the public wined3d surface interface. 2010-07-22 10:13:13 +02:00
Rico Schüller 894a150f69 wined3d: Add GL_NV_point_sprite extension. 2010-07-19 15:10:32 +02:00
Henri Verbeet b1abafcf8d wined3d: Also flip the point sprite coordinate origin when rendering offscreen. 2010-06-11 16:22:25 +02:00
Henri Verbeet e8ac9bbd7f wined3d: Get rid of GLINFO_LOCATION. 2010-05-25 13:29:00 +02:00
Henri Verbeet 465e8f66cb wined3d: Explicitly pass the FBO target to context_clean_fbo_attachments().
This should have been part of e01d56f331.
2010-05-19 16:57:59 +02:00
Henri Verbeet 0fe7b45b6c wined3d: Make context_attach_surface_fbo() static. 2010-05-19 16:57:59 +02:00
Henri Verbeet e0d6ca57d7 wined3d: Check for offscreen contexts inside context_validate_onscreen_formats() itself. 2010-05-18 18:42:08 +02:00
Henri Verbeet 4889c33da6 wined3d: Explicitly pass the depth/stencil surface to context_validate_onscreen_formats().
This avoids switching to offscreen rendering in context_apply_blit_state() for
a depth buffer that isn't going to be used anyway. This switch would be
problematic for blits to the frontbuffer, since it's always onscreen. I.e.,
we'd be blitting to the screen, but with offscreen transforms.
2010-05-18 18:42:08 +02:00
Henri Verbeet 96cdab1792 wined3d: context_validate_onscreen_formats() may modify context->render_offscreen.
I merged this by accident in be43c867a5.
2010-05-18 18:42:08 +02:00
Henri Verbeet 7a2debe113 wined3d: Use the FBO cache in swapchain_blit(). 2010-05-06 14:17:30 +02:00
Henri Verbeet 3345146d0b wined3d: Use the FBO cache in stretch_rect_fbo(). 2010-05-06 14:17:24 +02:00
Henri Verbeet 9982a46296 wined3d: Use the FBO cache in context_apply_blit_state(). 2010-05-06 14:16:44 +02:00
Henri Verbeet ed75f5ca7a wined3d: Setup the FBO for the correct target in context_apply_clear_state(). 2010-05-05 10:37:40 +02:00
Henri Verbeet 4056f4bf99 wined3d: Explicitly pass the render target and depth/stencil surfaces to the FBO management functions. 2010-05-05 10:37:34 +02:00
Henri Verbeet e01d56f331 wined3d: Explicitly pass the FBO target to the FBO management functions. 2010-05-05 10:37:28 +02:00
Henri Verbeet 4fd3050b98 wined3d: Move draw buffer setup code out of context_apply_fbo_entry(). 2010-05-05 10:37:24 +02:00
Stefan Dösinger e7066a90e1 wined3d: Don't grab the implicit depth stencil format in the wrong place.
This format is now explicitly passed to create_context.
2010-05-04 13:15:00 +02:00
Henri Verbeet ff6cf84c40 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.
2010-05-04 13:14:59 +02:00
Henri Verbeet 49e076eabd wined3d: Separate context acquisition and state application. 2010-05-04 13:14:59 +02:00
Henri Verbeet be43c867a5 wined3d: Split context_apply_state() into separate functions for each usage. 2010-05-04 13:14:59 +02:00
Henri Verbeet d977e91b11 wined3d: Store back buffer surfaces as IWineD3DSurfaceImpl pointers in the swapchain. 2010-04-27 12:02:14 -05:00
Henri Verbeet 62acb2fdbc wined3d: Store the front buffer surface as an IWineD3DSurfaceImpl pointer in the swapchain. 2010-04-27 12:01:59 -05:00
Henri Verbeet d1ea48b971 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_internal_preload(). 2010-04-26 09:04:35 -05:00
Henri Verbeet 6b34b8e6d1 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_acquire(). 2010-04-22 11:28:17 +02:00
Henri Verbeet 1c403e44b5 wined3d: Store the current render target as an IWineD3DSurfaceImpl pointer in the context. 2010-04-22 11:28:12 +02:00
Henri Verbeet 95fb8eaa14 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_setup_target(). 2010-04-22 11:28:06 +02:00
Henri Verbeet 1b26ccde91 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to FindContext(). 2010-04-22 11:28:01 +02:00
Henri Verbeet 79a014a505 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_get_gl_buffer(). 2010-04-21 11:57:32 +02:00
Henri Verbeet c5de1e1045 wined3d: Store the depth/stencil surface as an IWineD3DSurfaceImpl pointer in the device. 2010-04-20 11:14:42 +02:00
Henri Verbeet c7a1848656 wined3d: Store render targets as IWineD3DSurfaceImpl pointers in the device. 2010-04-20 11:14:30 +02:00
Henri Verbeet 92a44884c7 wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_compatible_renderbuffer(). 2010-04-19 14:55:35 +02:00
Henri Verbeet 03dc612c9c wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_is_offscreen(). 2010-04-19 14:55:31 +02:00
Henri Verbeet da1b459754 wined3d: Store the depth/stencil attachment as IWineD3DSurfaceImpl pointer in struct fbo_entry. 2010-04-16 12:09:45 +02:00
Henri Verbeet be993fc49f wined3d: Store render target attachments as IWineD3DSurfaceImpl pointers in struct fbo_entry. 2010-04-16 12:09:42 +02:00
Henri Verbeet 24c93d48aa wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_depth_stencil_fbo(). 2010-04-16 12:09:39 +02:00
Henri Verbeet 95130a7d5e wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_surface_fbo(). 2010-04-16 12:09:36 +02:00
Henri Verbeet 870b3cb40b wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_apply_attachment_filter_states(). 2010-04-16 12:09:32 +02:00
Stefan Dösinger dc918d4394 wined3d: Use FBOs when the onscreen depth stencil format isn't suitable.
This allows proper support of float depth buffers when rendering to onscreen surfaces.
2010-03-31 16:12:32 +02:00
Stefan Dösinger 19b6f5ca75 wined3d: Control the onscreen depth stencil format in the swapchain.
This allows the swapchain to know what depth format its window contexts have to see if the
requested depth format is compatible or a FBO fallback is needed, and it will be needed to
set the onscreen format to the requested auto depth stencil format instead of the
let's-hope-it-fits D24_UNORM_S8_UINT format.
2010-03-31 16:12:31 +02:00
Stefan Dösinger a4b0bedc30 wined3d: Split out offscreen rendering concerns from FindContext. 2010-03-31 16:12:31 +02:00
Henri Verbeet d5ff1e640c wined3d: glColorMask() changes the write mask for all render targets. 2010-03-26 10:29:17 +01:00
Henri Verbeet 3aaa6ee6e7 wined3d: Rename GlPixelFormatDesc to wined3d_format_desc. 2010-03-19 14:31:47 +01:00
Henri Verbeet e5673ddbc3 wined3d: Add a quirk to rebind FBOs when one of their attached textures is updated.
Updating a texture while it is attached to the currently bound FBO is
something GL implementations tend to get wrong. NVIDIA fails at
glTexSubImage2D(), fglrx and Mesa with glTexImage2D(). I'm afraid to try what
happens on OS X. Fortunately we never use glTexImage2D() while a texture is
attached to an FBO, so we only need to care about glTexSubImage2D().
2010-03-18 10:24:41 +01:00
Henri Verbeet bd4fb33a52 wined3d: Unify GLINFO_LOCATION in surface.c. 2010-03-18 10:24:33 +01:00
Henri Verbeet 2b86950c3b wined3d: Simplify context_apply_attachment_filter_states() flow a bit. 2010-03-17 10:06:12 +01:00
Henri Verbeet 78166b0b23 wined3d: Implement SetDestWindowOverride() by simply making the context current on a different window. 2010-03-16 11:45:15 +01:00