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
ec3d2ba316
wined3d: Fall back to other depth stencil formats if D24S8 isn't supported.
2010-05-04 13:15:00 +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
312bacec96
wined3d: Remove a redundant check from prepare_ds_clear().
...
The rectangle count doesn't really matter. If the first rectangle doesn't
cover the entire draw_rect we need to load the depth/stencil surface.
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
87f34ce5f9
wined3d: Allow the ARB shader backend to work with GL implementations with low amounts of native parameters.
2010-05-03 13:51:02 +02:00
Henri Verbeet
0122cee51f
wined3d: Make sure all fields of the shader backend caps are always initialized.
2010-05-03 13:50:57 +02:00
Henri Verbeet
c9e7561b34
wined3d: Remove some unused fields from the shader backend caps.
2010-05-03 13:50:51 +02:00
Henri Verbeet
d5b68e7640
wined3d: Make sure all fields of the fragment pipe caps are always initialized.
2010-05-03 13:50:45 +02:00
Henri Verbeet
c1ea8fb6c7
wined3d: Store the VTF format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
be7b01589f
wined3d: Store the sRGB write format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
c041781255
wined3d: Store the sRGB read format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
163940540d
wined3d: Store the bumpmap format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
f09b8e454d
wined3d: Avoid some needless depth buffer copies.
...
If an application switches between render targets of a different size, but
with the same depth/stencil surface it'll typically clear the depth/stencil
surface before drawing. However, in case of the smaller render target that
wouldn't be a full clear, so we'd have to do a depth copy if we also switched
between onscreen and offscreen rendering. Keeping track of which part of the
depth/stencil surface is current for onscreen/offscreen allows us to avoid
most of these kinds of copies. The current scheme requires the current/dirty
rectangle to have an origin at (0,0). This could be extended to an arbitrary
rectangle, but the bookkeeping becomes somewhat more complex in that case, and
it's not clear that there would be much of a benefit at this point.
2010-04-29 10:19:39 -05:00
Henri Verbeet
83cf1ce8e1
wined3d: Check if the depth/stencil surface has any valid location at the start of surface_load_ds_location().
2010-04-28 07:32:05 -05:00
Henri Verbeet
7b80c7d8c0
wined3d: Make "clear_rect" a RECT in IWineD3DDeviceImpl_ClearSurface().
2010-04-28 07:31:53 -05:00
Henri Verbeet
772fe683fa
wined3d: Introduce device_get_draw_rect() to calculate the effective viewport.
2010-04-28 07:31:40 -05:00
Henri Verbeet
0d86323778
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_release_client_storage().
2010-04-28 07:31:28 -05:00
Henri Verbeet
23a377f02b
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_init_sysmem().
2010-04-28 07:31:13 -05:00
Henri Verbeet
42375518ba
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_add_dirty_rect().
2010-04-27 12:02:39 -05:00
Henri Verbeet
f78d85ffe1
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_target().
2010-04-27 12:02:31 -05:00
Henri Verbeet
294d9dae8f
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_name().
2010-04-27 12:02:24 -05: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
32b1f25f4b
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_force_reload().
2010-04-26 09:04:56 -05:00
Henri Verbeet
553f429964
wined3d: Simply pass IWineD3DSurfaceImpl pointers to IWineD3DSurfaceImpl_BltOverride().
2010-04-26 09:04:48 -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
c56d3c199c
wined3d: Add a missing newline to a TRACE in IWineD3DDeviceImpl_UpdateSurface().
2010-04-26 09:04:25 -05:00
Henri Verbeet
61d8338815
wined3d: Kill the now unused MAX_MIP_LEVELS.
2010-04-26 09:04:19 -05:00
Alexandre Julliard
fdfabd53f1
wined3d: Avoid a compiler warning on old gcc.
2010-04-26 07:18:18 -05:00
Henri Verbeet
bea50a39de
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to fb_copy_to_texture_hwstretch().
2010-04-25 07:28:18 -05:00
Henri Verbeet
99994f885c
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to fb_copy_to_texture_direct().
2010-04-25 07:28:07 -05:00
Henri Verbeet
339f7ef100
wined3d: Introduce basetexture_get_sub_resource() to simplify retrieving texture sub-resources.
2010-04-25 07:27:57 -05:00
Henri Verbeet
9308c5499f
wined3d: Make sure all texture levels are allocated in surface_prepare_texture().
...
This fixes a regression introduced by commit
af7dfcd378
.
2010-04-25 07:27:36 -05:00
Henri Verbeet
958b523707
wined3d: Store texture sub-resources in IWineD3DBaseTextureClass.
2010-04-25 07:26:51 -05:00
Henri Verbeet
158a001859
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to color_fill_fbo().
2010-04-22 11:28:22 +02: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
Gerald Pfeifer
07c8120b57
wined3d: Remove variable dlc_tmp which is not really used from shader_arb_generate_pshader.
2010-04-21 15:35:07 +02:00
Henri Verbeet
660ad06692
wined3d: Simply pass implementation pointers to stretch_rect_fbo().
2010-04-21 11:57:32 +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
7b47dabd09
wined3d: Avoid some unnecessary invalidations of the the onscreen depth buffer.
...
This can happen for example when the application switches to a different
depth/stencil for offscreen rendering and back again.
2010-04-21 11:57:32 +02:00
Henri Verbeet
4f004a5565
wined3d: Move location loading and modification together in IWineD3DDeviceImpl_ClearSurface().
2010-04-21 11:57:32 +02:00
Henri Verbeet
dc67164d0d
wined3d: Fix some more misspellings of "device".
2010-04-21 11:57:32 +02:00