Henri Verbeet
9ae5d06e77
wined3d: Make the device parameter to wined3d_device_get_material() const.
2011-09-05 10:57:03 +02:00
Henri Verbeet
23b4be9155
wined3d: Make the device parameter to wined3d_device_get_clip_status() const.
2011-09-05 10:57:00 +02:00
Henri Verbeet
d23938de1e
wined3d: Make the device parameter to wined3d_device_get_clip_plane() const.
2011-09-02 10:09:08 +02:00
Henri Verbeet
3659d5d729
wined3d: Make the device parameter to wined3d_device_get_light_enable() const.
2011-09-02 10:09:06 +02:00
Henri Verbeet
9d9baef789
wined3d: Make the device parameter to wined3d_device_get_light() const.
2011-09-01 18:06:37 +02:00
Henri Verbeet
82150458b4
wined3d: Make the device parameter to wined3d_device_get_transform() const.
2011-09-01 18:06:37 +02:00
Henri Verbeet
124cdf913a
wined3d: Make the device parameter to wined3d_device_get_stream_source_freq() const.
2011-08-31 19:43:05 +02:00
Henri Verbeet
cfbecf9380
wined3d: Make the device parameter to wined3d_device_get_stream_source() const.
2011-08-31 19:43:05 +02:00
Henri Verbeet
1870353c7a
wined3d: Replace "DirectDraw stuff" with per-adapter screen information.
2011-08-29 19:42:20 +02:00
Henri Verbeet
e7f61b8c61
wined3d: Make the device parameter to wined3d_device_get_available_texture_mem() const.
2011-08-29 19:42:14 +02:00
Henri Verbeet
e1f83fd205
wined3d: Make the device parameter to wined3d_device_get_wined3d() const.
2011-08-29 12:08:21 +02:00
Henri Verbeet
2ff7a356d2
wined3d: Make the device parameter to wined3d_device_get_swapchain() const.
2011-08-29 12:08:21 +02:00
Henri Verbeet
a3f23541c1
wined3d: Make the device parameter to wined3d_device_get_swapchain_count() const.
2011-08-29 12:08:21 +02:00
Henri Verbeet
d5c2ba6d62
wined3d: Make the target parameter to is_full_clear() const.
2011-08-29 12:08:20 +02:00
Matteo Bruni
afeecfd974
wined3d: Rename dummyTextureName variable.
2011-08-29 12:08:19 +02:00
Matteo Bruni
7c6bd2f287
wined3d: Use dummy textures for all the texture targets.
2011-08-29 12:08:19 +02:00
Matteo Bruni
0386b44bad
wined3d: Keep track of the current texture type for each texture unit.
2011-08-29 12:08:19 +02:00
Henri Verbeet
641f52ef96
wined3d: Add multisampling support.
2011-08-26 11:28:47 +02:00
Matteo Bruni
36a22dfa33
wined3d: Don't change active texture to 0.
2011-08-25 11:31:55 +02:00
Matteo Bruni
f47f9f7c74
wined3d: Store currently active texture in the wined3d context.
2011-08-25 11:31:55 +02:00
Matteo Bruni
e53ae83d74
wined3d: Pass around the context instead of gl_info.
2011-08-25 11:31:55 +02:00
Henri Verbeet
99da66429b
wined3d: Use draw_binding in device_clear_render_targets().
2011-08-24 11:58:15 +02:00
Henri Verbeet
e57b20c215
wined3d: Keep track of a surface's "draw location".
2011-08-24 11:58:14 +02:00
Henri Verbeet
9de5372036
wined3d: Introduce a function to update a swapchain's render_to_fbo field.
2011-08-23 16:53:51 +02:00
Henri Verbeet
7b19efd9d5
wined3d: Just call resource_unload() in updateSurfaceDesc().
...
Instead of trying to duplicate the functionality.
2011-08-23 16:53:51 +02:00
Henri Verbeet
b474225386
wined3d: Only delete the GL contexts after unloading resources in wined3d_device_reset().
...
The updateSurfaceDesc() calls potentially make GL calls.
2011-08-23 16:53:51 +02:00
Stefan Dösinger
0fc7cd5ad7
wined3d: Invalidate streamsrc, vdecl and indexbuffer after strided draws.
2011-08-22 19:49:39 +02:00
Chris Robinson
342d2b8979
wined3d: Don't use the old depth-stencil surface after decrementing its ref count.
2011-08-22 17:22:48 +02:00
Henri Verbeet
293bf961ed
wined3d: Pass a non-NULL rectangle to surface_color_fill() in wined3d_device_clear_rendertarget_view().
2011-08-05 09:17:51 +02:00
Henri Verbeet
7e8e7ecebb
wined3d: Always pass a non-NULL rectangle to surface_color_fill() in wined3d_device_color_fill().
2011-08-05 09:17:47 +02:00
Frédéric Delanoy
7e309601f3
dlls: Assorted spelling fixes.
2011-08-03 14:15:50 +02:00
Henri Verbeet
dcc969c32c
wined3d: Get rid of dst_fbo.
...
As a result we can get rid of a couple of other things as well.
2011-08-01 11:16:08 +02:00
Henri Verbeet
4428bda4a1
wined3d: Apply clear state after depth / stencil setup in device_clear_render_targets().
2011-08-01 11:15:59 +02:00
Henri Verbeet
2256a7e804
wined3d: wined3d_device_evict_managed_resources() doesn't need a return value.
2011-07-29 12:09:39 +02:00
Henri Verbeet
cc2dc5b0c8
wined3d: Only invalidate state for the current context in wined3d_device_set_cursor_properties().
2011-07-28 11:29:24 +02:00
Henri Verbeet
a1ba5b5131
wined3d: Only invalidate state for the current context in device_clear_render_targets().
2011-07-28 11:29:21 +02:00
Henri Verbeet
26cd7b835d
wined3d: Get rid of the use_vshader parameter to device_stream_info_from_declaration().
2011-07-27 11:51:41 +02:00
Henri Verbeet
bd1429e248
wined3d: Introduce a "state" variable in device_stream_info_from_declaration().
2011-07-27 11:51:34 +02:00
Henri Verbeet
1195530795
wined3d: Release the onscreen depth / stencil reference on reset.
...
No need to save the contents, after a reset it's all undefined anyway.
2011-07-25 21:25:24 +02:00
Henri Verbeet
27b20bac43
wined3d: Unbind all textures in wined3d_device_reset().
2011-07-25 21:25:19 +02:00
Henri Verbeet
44e109debe
wined3d: Unbind resources inside wined3d_device_reset().
2011-07-25 21:25:15 +02:00
Henri Verbeet
c84112f86f
wined3d: Get rid of wined3d_device_enum_resources().
2011-07-25 21:25:11 +02:00
Henri Verbeet
0739cae273
wined3d: Pass "reset_enum_callback" directly to wined3d_device_reset().
...
It would have been nice if we could do all of this inside wined3d, but we need
to determine what resources are in use by d3d8/d3d9, not wined3d. This is
mostly an issue for "implicit" resources like swapchain render targets and the
depth / stencil surface. The fact that we're having this problem probably
means we're doing it wrong. Since these implicit resources should only be
referenced by wined3d, we could probably just destroy and recreate the
swapchain, instead of the little updateSurfaceDesc() dance we currently do.
2011-07-25 21:25:01 +02:00
Henri Verbeet
7ee4bda63e
wined3d: Add stream offsets in device_stream_info_from_declaration().
...
They're not going to change until the next time the stream info is updated.
This would of course mainly be useful if we managed to do more than one or two
draws with the same stream info.
2011-07-15 10:08:02 +02:00
Henri Verbeet
565fcbdfb8
wined3d: Get rid of the clip status code.
...
I'm pretty sure this is just broken, and I'm not aware of any application
using this.
2011-07-14 14:11:18 +02:00
Henri Verbeet
c5d457c8b4
wined3d: Store a struct wined3d_bo_address in struct wined3d_stream_info_element.
...
Instead of using separate fields for the buffer object and offset.
2011-07-11 11:53:42 +02:00
Henri Verbeet
89bf30a25e
wined3d: Return data as struct wined3d_bo_address in buffer_get_memory().
2011-07-11 11:53:39 +02:00
Henri Verbeet
a3538a1546
wined3d: Store VBO addresses in a struct wined3d_bo_address in device_stream_info_from_declaration().
2011-07-11 11:53:35 +02:00
Henri Verbeet
4671f86cd6
wined3d: Make the context parameter to the get_drawable_size() callback const.
2011-07-07 12:31:34 +02:00
Henri Verbeet
0a5b56083d
wined3d: Make the device parameter to device_preload_textures() const.
2011-07-07 12:31:30 +02:00
Matteo Bruni
9d3cc8b012
wined3d: Make dummy textures black.
2011-07-06 19:38:46 +02:00
Henri Verbeet
c0aa053a87
wined3d: Pass a state pointer instead of a device pointer to device_get_draw_rect().
2011-07-06 11:14:38 +02:00
Henri Verbeet
a7120866be
wined3d: Remove the unused currentPatch field from struct wined3d_device.
2011-07-06 11:14:33 +02:00
Piotr Pawlow
f6600263c1
wined3d: Delete cursor texture on device reset.
2011-07-05 19:27:53 +02:00
Stefan Dösinger
718c614937
wined3d: Pass a struct wined3d_fb_state * to context_apply_clear_state.
2011-07-05 17:33:56 +02:00
Stefan Dösinger
053071e343
wined3d: Pass a struct wined3d_fb_state to device_clear_render_targets.
2011-07-05 17:33:51 +02:00
Stefan Dösinger
cd96c59d91
wined3d: Track framebuffer changes.
2011-07-05 17:33:43 +02:00
Henri Verbeet
b1664a2c85
wined3d: Get rid of some IWineD3D* references.
2011-07-04 13:44:41 +02:00
Henri Verbeet
ebcf08e59a
wined3d: Properly destroy contexts not owned by the implcit swapchain.
...
In particular, set num_contexts to 0 in the swapchain that owns the contexts.
2011-06-28 10:18:37 -05:00
Henri Verbeet
b296f181dd
wined3d: Explicitly set surface alignment in the client libs.
...
Instead of using dxVersion.
2011-06-24 08:49:42 -05:00
Henri Verbeet
4582a0bcb3
wined3d: Make the device parameter to device_invalidate_state() const.
2011-06-21 11:25:18 +02:00
Henri Verbeet
430bac5fad
wined3d: Only bother checking block alignment for compressed surfaces in wined3d_device_update_surface().
2011-06-21 11:25:09 +02:00
Henri Verbeet
45a0e95962
wined3d: Only load the surface for partial updates in wined3d_device_update_surface().
2011-06-17 11:02:21 +02:00
Henri Verbeet
3a1d151561
wined3d: Use surface_load_location() instead of surface_internal_preload() in wined3d_device_update_surface().
2011-06-17 11:02:18 +02:00
Henri Verbeet
6f710d18fc
wined3d: Fix source rectangle validation in wined3d_device_update_surface().
2011-06-16 11:16:19 +02:00
Henri Verbeet
c19c26e4be
wined3d: Check the source rectangle is a multiple of the format block size in wined3d_device_update_surface().
2011-06-15 12:51:51 +02:00
Henri Verbeet
410a8e86f5
wined3d: Check for a valid source rectangle and destination in wined3d_device_update_surface().
2011-06-15 12:51:50 +02:00
Henri Verbeet
b9133d7de0
wined3d: Implement wined3d_device_update_surface() on top of surface_upload_data().
2011-06-15 12:51:49 +02:00
Stefan Dösinger
a421278625
wined3d: Invalidate STATE_STREAMSRC in wined3d_device_draw_indexed_primitive_up.
2011-06-14 13:43:56 +02:00
Stefan Dösinger
dafd31861a
wined3d: Use GL_ARB_draw_elements_base_vertex if available.
2011-06-14 13:43:56 +02:00
Marcus Meissner
2bcd439818
wined3d: Don't just print a FIXME on error, handle it (Coverity).
2011-06-13 11:30:07 +02:00
Henri Verbeet
d5c9523a83
wined3d: Rename IWineD3DDeviceImpl_UpdateVolume() to device_update_volume().
2011-06-10 10:44:17 +02:00
Henri Verbeet
5173f9f05f
wined3d: Rename IWineD3DDeviceImpl_LoadLogo() to device_load_logo().
2011-06-08 14:12:40 +02:00
Henri Verbeet
1fbdfd625a
wined3d: Get rid of wined3d_texture_get_type().
2011-06-07 14:18:34 +02:00
Henri Verbeet
c8f26a1345
wined3d: Rename IWineD3DDeviceImpl_MarkStateDirty() to device_invalidate_state().
2011-06-06 16:18:41 +02:00
Henri Verbeet
019f6a8534
wined3d: Mask out writes to unused render targets.
...
Outputs not written by the pixel shader are undefined in GL, but in D3D the
render target is unmodified.
2011-05-25 11:49:23 +02:00
Henri Verbeet
6d31039034
wined3d: Rename IWineD3DDeviceImpl_FindTexUnitMap() to device_update_tex_unit_map().
2011-05-25 11:48:38 +02:00
Stefan Dösinger
813c273725
wined3d: Fix a few function definitions.
2011-05-24 12:47:28 +02:00
Henri Verbeet
aba42d1fa5
wined3d: Introduce a separate structure for framebuffer state.
2011-05-19 10:07:57 +02:00
Henri Verbeet
3032b40c80
wined3d: Get rid of the IWineD3DDeviceParent interface.
2011-05-19 10:06:21 +02:00
Stefan Dösinger
5c6c019340
wined3d: Remove maxConcurrentLights from the device.
2011-05-18 16:41:57 +02:00
Alexandre Julliard
3d229b814e
wined3d: Switch to the software cursor when the position diverges from the hardware one.
2011-05-17 10:18:26 +02:00
Alexandre Julliard
599d09b08c
wined3d: Always create the software cursor.
2011-05-17 10:17:31 +02:00
Alexandre Julliard
38d0d9fe80
wined3d: Only update the cursor position the first time we display it.
2011-05-17 10:15:18 +02:00
Alexandre Julliard
30e187e019
wined3d: Get rid of the haveHardwareCursor flag.
2011-05-17 10:12:31 +02:00
Henri Verbeet
0e0e5c3e38
wined3d: Get rid of the IWineD3DDevice typedefs.
2011-05-17 10:06:23 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Henri Verbeet
979e3744f7
wined3d: Remove state management methods from the IWineD3DDevice interface.
2011-05-17 10:06:15 +02:00
Henri Verbeet
00a5f38595
wined3d: Remove object creation methods from the IWineD3DDevice interface.
2011-05-11 14:56:48 +02:00
Marcus Meissner
49828372c1
wined3d: Fixed a operator precedence issue (Coverity).
2011-05-05 17:28:37 +02:00
John Edmonds
d9f8cba50f
wined3d: Turn off message filtering temporarily in the Reset() method to allow certain messages (e.g. WM_ACTIVATEAPP) through.
2011-05-04 20:42:34 +02:00
John Edmonds
2fb6b509cb
wined3d: If Wine fails to acquire the focus window, allow the wndproc function to continue receiving messages.
2011-05-02 12:59:10 +02:00
Henri Verbeet
c4b73c4550
wined3d: Get rid of the IWineD3DSurface typedefs.
2011-04-29 16:52:13 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Stefan Dösinger
dbc8702e44
wined3d: Scale the depthbias factor by the depth buffer's depth.
2011-04-22 17:51:29 +02:00
Henri Verbeet
e30a057487
wined3d: Don't bother unsetting texture resources in IWineD3DDeviceImpl_Uninit3D().
...
Releasing the stateblock already takes care of this.
2011-04-19 13:29:36 +02:00
Henri Verbeet
89a4e696a2
wined3d: Get rid of the IWineD3DVolume typedefs.
2011-04-15 10:07:58 +02:00
Henri Verbeet
2c450571e5
wined3d: Remove COM from the volume implementation.
2011-04-15 10:07:57 +02:00
Henri Verbeet
d30da7ae39
wined3d: Get rid of the IWineD3DSwapChain typedefs.
2011-04-14 17:13:57 +02:00
Henri Verbeet
3ec19590d5
wined3d: Remove COM from the swapchain implementation.
2011-04-14 17:13:57 +02:00
Henri Verbeet
d2e665230a
wined3d: Get rid of the swapchain destroy callback.
2011-04-13 14:13:51 +02:00
Henri Verbeet
68c4a1b61a
wined3d: Depth-only clears are done offscreen.
...
This fixes a regression introduced by commit
99bfd81714
.
2011-04-11 23:54:01 +02:00
Henri Verbeet
dd2c7d0d8c
wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
...
This will allow us the get rid of the swapchain refcounting hacks in d3d9 in
particular. This is similar to the way we handle resources that are still in
use by a stateblock, but aren't referenced anywhere by the application.
2011-04-08 14:40:48 +02:00
Henri Verbeet
617efafecf
wined3d: Don't use IWineD3DDeviceImpl_GetSwapChain() in IWineD3DDeviceImpl_Present().
...
It adds COM overhead and validation of the swapchain index, but we already
know the index is valid.
2011-04-07 19:26:19 +02:00
Henri Verbeet
fb4c7e9f9b
wined3d: Rename "NumberOfSwapChains" to "swapchain_count".
2011-04-06 21:18:16 +02:00
Henri Verbeet
5555531950
wined3d: Rename "NumberOfPalettes" to "palette_count".
2011-04-06 21:18:11 +02:00
Henri Verbeet
2ab5b833d7
wined3d: Remove COM from the rendertarget view implementation.
2011-04-06 12:05:07 +02:00
Henri Verbeet
99bfd81714
wined3d: Allow depth and stencil clears on surfaces other than the current depth / stencil buffer.
2011-04-06 12:05:06 +02:00
Matteo Bruni
77face22d5
wined3d: Get rid of context_validate.
...
It should not be needed anymore, now the wined3d context is implicitly
validated on GL context activation. The check itself wasn't reliable
because of some threading issues and it also brought a small performance hit.
2011-04-04 12:25:56 +02:00
Henri Verbeet
692aa004d0
wined3d: Rename "numContexts" to "context_count".
2011-03-31 12:37:47 +02:00
Henri Verbeet
8fe80e18b2
wined3d: Get rid of the IWineD3DBaseShader typedefs.
2011-03-31 12:37:47 +02:00
Henri Verbeet
f8f83ff2f7
wined3d: Remove COM from the shader implementation.
2011-03-31 12:37:46 +02:00
Henri Verbeet
5555d904be
wined3d: Get rid of IWineD3DBaseShaderClass.
2011-03-31 12:37:46 +02:00
Henri Verbeet
99bed5d41d
wined3d: Get rid of IWineD3DPixelShaderImpl.
2011-03-30 12:18:20 +02:00
Henri Verbeet
4674b94d23
wined3d: Get rid of struct wined3d_geometryshader.
2011-03-30 12:18:14 +02:00
Henri Verbeet
dab01d435e
wined3d: Get rid of IWineD3DVertexShaderImpl.
2011-03-30 12:18:09 +02:00
Henri Verbeet
3d4fe0b750
wined3d: Get rid of IWineD3DPixelShader.
2011-03-30 12:18:03 +02:00
Henri Verbeet
9ea2ee5f4e
wined3d: Get rid of IWineD3DGeometryShader.
2011-03-30 12:17:56 +02:00
Henri Verbeet
49725ba583
wined3d: Get rid of IWineD3DVertexShader.
2011-03-30 12:17:51 +02:00
Henri Verbeet
c5bf96c951
wined3d: Get rid of IWineD3DBaseTextureClass.
2011-03-29 12:34:40 +02:00
Henri Verbeet
eb5bfad18d
wined3d: Get rid of the IWineD3DBaseTexture typedefs.
2011-03-28 17:08:52 +02:00
Henri Verbeet
fd8e18bd2b
wined3d: Remove COM from the texture implementation.
2011-03-28 17:08:52 +02:00
Henri Verbeet
afa93a5b58
wined3d: Get rid of IWineD3DCubeTextureImpl.
2011-03-18 15:59:04 +01:00
Henri Verbeet
b8c40f3a7e
wined3d: Get rid of IWineD3DCubeTexture.
2011-03-18 15:59:04 +01:00
Henri Verbeet
b17d64923e
wined3d: Don't use surface_from_resource() to retrieve volumes.
...
This happened to work because the field offsets are the same.
2011-03-17 10:42:09 +01:00
Henri Verbeet
2d4bce87ba
wined3d: Get rid of IWineD3DTextureImpl.
2011-03-17 10:41:41 +01:00
Henri Verbeet
f1ec3820d7
wined3d: Get rid of IWineD3DTexture.
2011-03-17 10:40:52 +01:00
Stefan Dösinger
0fc6381bc7
wined3d: Check the framebuffer setup in ValidateDevice.
2011-03-16 16:31:53 +01:00
Stefan Dösinger
38c213ecda
wined3d: Ignore clears when the framebuffer setup is broken.
2011-03-16 16:31:53 +01:00
Henri Verbeet
f77c0e36a4
wined3d: Get rid of IWineD3DVolumeTextureImpl.
2011-03-16 14:14:22 +01:00
Henri Verbeet
ed0037854a
wined3d: Get rid of IWineD3DVolumeTexture.
2011-03-16 14:14:21 +01:00
Henri Verbeet
8809ebdf79
wined3d: Generalize GetSurfaceLevel() / GetVolumeLevel() to GetSubResource().
2011-03-10 12:53:04 +01:00
Henri Verbeet
ac9c592ca9
wined3d: Store all the resource desc information in struct wined3d_resource.
2011-03-09 12:29:17 +01:00
Henri Verbeet
bea8d0a713
wined3d: Get rid of the IWineD3DBuffer typedef.
2011-03-04 16:25:58 +01:00
Henri Verbeet
a27ee75ed2
wined3d: Remove COM from the buffer implementation.
2011-03-04 16:25:58 +01:00
Henri Verbeet
39aa477e4c
wined3d: Pass gl_info to surface_bind().
2011-03-04 16:25:58 +01:00
Henri Verbeet
1de6adfbae
wined3d: Make IWineD3DResourceImpl an independent structure.
2011-03-01 13:21:59 +01:00
Henri Verbeet
39497ff4d1
wined3d: Remove IWineD3DResource::UnLoad() from the public interface.
2011-02-28 11:09:48 +01:00
Henri Verbeet
1da773ff4d
wined3d: Merge device_unload_resource() and reset_unload_resources().
2011-02-28 11:09:38 +01:00
Henri Verbeet
14c3387fc2
wined3d: Get rid of the IWineD3DQuery typedefs.
2011-02-04 15:25:32 +01:00
Henri Verbeet
e1815f5e3b
wined3d: Get rid of the IWineD3DPalette typedefs.
2011-02-03 13:15:17 +01:00
Henri Verbeet
fe3cfb3e8e
wined3d: Get rid of the IWineD3DVertexDeclaration typedefs.
2011-02-03 13:15:17 +01:00
Henri Verbeet
5765632d9f
wined3d: Remove COM from the vertex declaration.
2011-02-03 13:15:17 +01:00
Henri Verbeet
074977d404
wined3d: Get rid of the IWineD3D typedefs.
2011-02-02 12:22:53 +01:00
Henri Verbeet
36d4268e3c
wined3d: Remove COM from IWineD3D.
2011-02-02 12:22:42 +01:00
Henri Verbeet
96d225d4dd
wined3d: Get rid of the IWineD3DStateBlockImpl typedef.
2011-01-31 12:25:05 +01:00
Henri Verbeet
b98cd5d982
wined3d: Get rid of the IWineD3DStateBlock typedef.
2011-01-31 12:25:01 +01:00
Henri Verbeet
4b109ff1f8
wined3d: Remove COM from the stateblock.
2011-01-31 12:24:58 +01:00
Henri Verbeet
a538d28f28
wined3d: Set color / depth / stencil surfaces to NULL before releasing them in IWineD3DDeviceImpl_Uninit3D().
2011-01-31 12:24:55 +01:00
Henri Verbeet
1b726498ed
wined3d: Set all render targets to NULL in IWineD3DDeviceImpl_Uninit3D().
2011-01-28 11:58:06 +01:00
Henri Verbeet
2469597e2a
wined3d: Verify we have at least one framebuffer attachment before doing clears or draws.
2011-01-27 14:13:39 +01:00
Henri Verbeet
ce050c89de
wined3d: Get rid of IWineD3DSurface::GetData().
2011-01-21 18:37:09 +01:00
Henri Verbeet
629d81b192
wined3d: Remove IWineD3DSurface::BindTexture() from the public interface.
2011-01-21 18:37:04 +01:00
Henri Verbeet
227efbbf65
wined3d: Store a pointer to an array of IWineD3DSwapChainImpl pointers in the device.
2011-01-20 12:19:04 +01:00
Henri Verbeet
e42e5247dd
wined3d: Pass an IWineD3DResourceImpl pointer to wined3d_rendertarget_view_init().
2011-01-18 12:32:01 +01:00
Henri Verbeet
c28d6f38af
wined3d: Pass an IWineD3DResourceImpl pointer to context_resource_released().
2011-01-17 13:22:06 +01:00
Henri Verbeet
834b599e19
wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_released().
2011-01-17 13:22:06 +01:00
Henri Verbeet
852ac57db6
wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_add().
2011-01-17 13:22:06 +01:00
Henri Verbeet
2ad540cea5
wined3d: Pass an IWineD3DResourceImpl pointer to device_resource_remove().
2011-01-17 13:22:06 +01:00
Henri Verbeet
d72520b5cc
wined3d: Remove IWineD3DBaseTexture::BindTexture() from the public interface.
2011-01-05 17:22:01 +01:00
Henri Verbeet
f9a1e8813e
wined3d: Pass an IWineD3DDeviceImpl pointer to create_primary_opengl_context().
2011-01-05 17:21:47 +01:00
Henri Verbeet
7e0909d058
wined3d: Pass an IWineD3DDeviceImpl pointer to delete_opengl_contexts().
2011-01-05 17:21:37 +01:00
Henri Verbeet
3a59137b09
wined3d: Pass an IWineD3DBaseTextureImpl pointer to internal_preload().
2011-01-04 11:09:52 +01:00
Henri Verbeet
fe2ffe1e6a
wined3d: Pass an IWineD3DBaseShaderImpl pointer to shader_destroy().
2010-12-13 16:24:23 +01:00
Henri Verbeet
7f09eb6a7a
wined3d: Pass an IWineD3DDeviceImpl pointer to free_private().
2010-12-09 12:14:31 +01:00
Henri Verbeet
4ba3b64c57
wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private().
2010-12-09 12:14:25 +01:00
Henri Verbeet
5fc53941ef
wined3d: Pass a wined3d_buffer structure to buffer_get_memory().
2010-12-08 11:27:40 +01:00
Henri Verbeet
a4477fea4a
wined3d: Pass an IWineD3DDeviceImpl pointer to free_private().
2010-12-02 11:54:15 +01:00
Henri Verbeet
6b9118e462
wined3d: Pass an IWineD3DDeviceImpl pointer to alloc_private().
2010-12-02 11:54:10 +01:00
Henri Verbeet
f45aeb4abe
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_free_private().
2010-12-01 11:09:08 +01:00
Henri Verbeet
4a69874938
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_alloc_private().
2010-12-01 11:09:02 +01:00
Henri Verbeet
77923346da
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_pixel_constants().
2010-12-01 11:08:57 +01:00
Henri Verbeet
4a6d0da207
wined3d: Pass an IWineD3DDeviceImpl pointer to shader_update_float_vertex_constants().
2010-12-01 11:08:51 +01:00
Henri Verbeet
363d8a316e
wined3d: Pass an IWineD3DDeviceImpl pointer to drawPrimitive().
2010-11-30 10:57:10 +01:00
Henri Verbeet
03f7a2d88e
wined3d: Get rid of the remaining "Flags".
2010-11-23 13:15:36 +01:00
Henri Verbeet
efb185dcd5
wined3d: Rename the wined3d_format "Flags" field to "flags".
2010-11-12 15:43:08 +01:00
Henri Verbeet
027fdb31c2
wined3d: Rename the IWineD3DSurfaceImpl "Flags" field to "flags".
2010-11-12 15:43:07 +01:00
Henri Verbeet
7e3985e1fe
ddraw: Setup the device window in SetCooperativeLevel().
2010-11-08 13:30:54 +01:00
Henri Verbeet
b898130a11
wined3d: Do not activate the window when restoring the styles.
...
This is consistent with device_setup_fullscreen_window(), and ddraw actually
has a test for this in ddrawmodes.c. (Although it doesn't actually use
device_setup_fullscreen_window() until the next patch.)
2010-11-08 13:30:46 +01:00
Henri Verbeet
45cee64295
wined3d: Move the fullscreen window setup / restore code to the device.
2010-11-08 13:30:40 +01:00
Henri Verbeet
feaf81f60d
wined3d: Use SetWindowPos() to make the focus window active.
2010-11-05 17:15:37 +01:00
Michael Stefaniuc
809741d5ae
wined3d: Move the checkGLcall() right after the corresponding GL call.
2010-11-05 17:15:34 +01:00
Henri Verbeet
b66478dfbc
wined3d: Set an A window proc on non-unicode windows.
2010-11-02 13:17:25 +01:00
Henri Verbeet
1b2f9d29d7
wined3d: Get rid of the posFixup field from the device.
2010-10-26 11:58:12 +02:00
Henri Verbeet
6dd9109358
wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods.
2010-10-25 14:29:31 +02:00
Henri Verbeet
95469309d6
wined3d: Consistently use Map/Unmap for mapping resources.
2010-10-14 17:54:52 +02:00
Henri Verbeet
3c45bba11e
wined3d: Add traces to IWineD3DDeviceImpl_AcquireFocusWindow() / IWineD3DDeviceImpl_ReleaseFocusWindow().
2010-10-11 17:11:34 +02:00
Henri Verbeet
a59d0f45c1
wined3d: Acquire / release the focus window during reset.
2010-10-06 14:42:08 +02:00
Henri Verbeet
e1b96eb347
wined3d: Set the depth/stencil buffer to NULL before releasing it.
...
To prevent device_resource_released() from detecting it as still in use.
2010-10-05 15:16:56 +02:00
Henri Verbeet
5fa84c56c3
ddraw: Remove another hack.
...
It breaks actual front buffer / back buffer flips.
2010-10-05 15:16:52 +02:00
Henri Verbeet
5097623dcf
wined3d: Pass a wined3d_state structure to device_preload_texture().
2010-09-30 17:51:16 +02:00
Henri Verbeet
a7ded9a67d
wined3d: Pass a wined3d_state structure to use_ps().
2010-09-28 17:33:17 +02:00
Henri Verbeet
9224751a13
wined3d: Pass a wined3d_state structure to use_vs().
2010-09-28 17:33:17 +02:00
Henri Verbeet
e59fdb83a6
wined3d: Simply refuse to create shaders if they're disabled.
...
The functionality is a bit questionable in the first place, but there is some
use in the part that limits the maximum reported shader versions.
2010-09-28 17:33:16 +02:00
Henri Verbeet
d6d345fa8a
wined3d: Remove IWineD3DStateBlock::InitStartupStateBlock() from the public wined3d interface.
2010-09-28 17:33:16 +02:00
Henri Verbeet
f870cf07e8
wined3d: Move clip status to wined3d_state.
2010-09-22 12:41:22 +02:00
Henri Verbeet
9ce3c61a41
wined3d: Move clip plane state to wined3d_state.
2010-09-22 12:41:18 +02:00
Henri Verbeet
4546a13d98
wined3d: Move light state to wined3d_state.
2010-09-22 12:41:13 +02:00
Henri Verbeet
f4df53c41a
wined3d: Move the primitive type to wined3d_state.
2010-09-22 12:41:06 +02:00
Henri Verbeet
98a91e84bc
wined3d: Move base vertex state to wined3d_state.
2010-09-21 14:17:07 +02:00
Henri Verbeet
902630efb5
wined3d: Move index buffer state to wined3d_state.
2010-09-21 14:17:03 +02:00
Henri Verbeet
153d8d43aa
wined3d: Move stream state to wined3d_state.
2010-09-21 14:16:58 +02:00
Henri Verbeet
b37ce45d6c
wined3d: Move pixel shader constants to wined3d_state.
2010-09-20 13:48:13 +02:00
Henri Verbeet
33dfb9539c
wined3d: Move the pixel shader to wined3d_state.
2010-09-20 13:48:13 +02:00
Henri Verbeet
8a148cc7c5
wined3d: Move vertex shader constants to wined3d_state.
2010-09-20 13:48:12 +02:00
Henri Verbeet
dd4aea36c9
wined3d: Move the vertex shader to wined3d_state.
2010-09-20 13:48:12 +02:00
Henri Verbeet
e31ea51bab
wined3d: Move the vertex declaration to wined3d_state.
2010-09-18 13:05:54 +02:00
Henri Verbeet
d728d5f0ec
wined3d: Move texture bindings to wined3d_state.
2010-09-18 13:05:49 +02:00
Henri Verbeet
5a3a4ac77a
wined3d: Remove IWineD3DBaseTexture::GetTextureDimensions() from the public wined3d interface.
2010-09-18 13:05:44 +02:00
Henri Verbeet
8fdfc736bf
wined3d: Move sampler states to wined3d_state.
2010-09-16 10:12:24 -05:00
Henri Verbeet
5b3c1a2082
wined3d: Move texture states to wined3d_state.
2010-09-16 10:12:17 -05:00
Henri Verbeet
597da9907a
wined3d: Move transforms to wined3d_state.
2010-09-16 10:12:06 -05:00
Henri Verbeet
5f6ced2767
wined3d: Move the material to wined3d_state.
2010-09-16 10:11:57 -05:00
Henri Verbeet
16d9c91b97
wined3d: Move the viewport to wined3d_state.
2010-09-15 10:33:26 -05:00
Henri Verbeet
937eb7e600
wined3d: Move the scissor rect to wined3d_state.
2010-09-15 10:33:20 -05:00
Henri Verbeet
1ef4f075c1
wined3d: Introduce a separate structure for stateblock states.
...
We'd like to not pass an entire stateblock to things like state handlers and
the shader backend, because those then use the stateblock to get to the
device and through there to all the rest of wined3d. This would also be
required for serialization of wined3d draw and state change commands into a
single GL context. Resource updates would be explicitly excluded from
serialization.
2010-09-15 10:33:14 -05:00
Rico Schüller
e6d52c0c8b
wined3d: Add argument check for Type to Get/SetTextureStageState().
2010-09-14 13:32:00 -05:00
Henri Verbeet
6ce848bee4
wined3d: Introduce a structure for stream state.
2010-09-14 11:43:54 -05:00
Henri Verbeet
b68d257710
wined3d: Get rid of redundant comparisons against NULL / 0.
2010-09-14 09:43:33 -05:00
Henri Verbeet
07b5c4becf
wined3d: Getting the current pixel shader should never fail.
2010-09-07 11:23:31 +02:00
Henri Verbeet
0c54dfe7ba
wined3d: Getting the current vertex shader should never fail.
2010-09-07 11:23:27 +02:00
Henri Verbeet
8e0cb60b09
wined3d: Do not call device_switch_onscreen_ds() while under the GL lock.
2010-09-06 16:14:18 +02:00
Henri Verbeet
e998fffc8f
wined3d: Do not mark invalid blend matrices dirty.
2010-09-03 11:05:24 +02:00
Henri Verbeet
5a7091b8f7
wined3d: Do not preload buffers while under the GL lock in process_vertices_strided().
2010-09-03 11:05:19 +02:00
Henri Verbeet
bc2db78c3a
wined3d: Explicitly document some more consequences of GL locking policy.
...
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Henri Verbeet
7c675b522a
wined3d: Queries don't need parents.
2010-09-01 12:40:08 +02:00
Henri Verbeet
2ef400901d
wined3d: Devices don't need parents.
2010-09-01 12:40:07 +02:00
Henri Verbeet
3a7f08a56f
wined3d: Rename wined3d_format_desc to wined3d_format.
2010-08-31 14:23:47 +02:00
Henri Verbeet
c568916f9e
wined3d: Implicit depth/stencil surfaces don't have a container.
...
They're owned by the device instead of the swapchain.
2010-08-31 14:23:47 +02:00
Henri Verbeet
4005eb2a18
wined3d: Get rid of WINED3DRECT.
2010-08-31 14:23:47 +02:00
Henri Verbeet
0a28300c49
wined3d: Use surface_color_fill() in IWineD3DDeviceImpl_ClearRendertargetView().
2010-08-30 11:26:46 +02:00
Henri Verbeet
c689280beb
wined3d: Use surface_color_fill() in IWineD3DDeviceImpl_ColorFill().
2010-08-30 11:26:45 +02:00
Henri Verbeet
b233e7b301
wined3d: Rename the "format" field in wined3d_format_desc to "id".
2010-08-26 12:41:44 +02:00
Henri Verbeet
22428d97e1
wined3d: Don't set a NULL container of type WINED3D_CONTAINER_TEXTURE.
...
Any container type other than WINED3D_CONTAINER_NONE implies a valid pointer
of the specified type. This fixes a regression introduced by
368e5eb87a
.
2010-08-26 12:41:34 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
0df144164b
wined3d: Pass floating point colors to IWineD3DDeviceImpl_ColorFill().
2010-08-24 12:24:43 +02:00
Henri Verbeet
9956ea7044
wined3d: Convert from floating point to specific surface formats.
...
Instead of from WINED3DFMT_B8G8R8A8_UNORM.
2010-08-24 12:24:33 +02:00
Henri Verbeet
a455a918c1
wined3d: Explicitly pass the draw rect to device_clear_render_targets().
...
For regular clears this is the intersection of the viewport and scissor
rectangles, but color fills shouldn't be affected by those.
2010-08-24 12:24:28 +02:00
Henri Verbeet
b93a9b37fa
wined3d: Pass a WINED3DCOLORVALUE structure to IWineD3DDeviceImpl_ClearRendertargetView().
...
The structure is nicer to work with than the array.
2010-08-23 12:05:24 +02:00
Henri Verbeet
6e09d7bd60
wined3d: Cleanup device_resource_released().
...
In particular, releasing a resource that's in use by the device or the
stateblock is always an internal error in either wined3d or the relevant
wined3d client library.
2010-08-18 09:41:32 +02:00
Henri Verbeet
35b9d3dbd8
wined3d: Release the previous render target only after replacing it in IWineD3DDeviceImpl_SetRenderTarget().
2010-08-18 09:41:26 +02:00
Henri Verbeet
8292c687d8
wined3d: Get rid of the now redundant SFLAG_SWAPCHAIN surface flag.
2010-08-17 11:55:32 +02:00
Henri Verbeet
0b24db5db5
wined3d: Also store the subresource container type.
2010-08-17 11:55:32 +02:00
Henri Verbeet
61db577a4b
wined3d: Remove SetContainer() from the public IWineD3DSurface interface.
2010-08-17 11:55:32 +02:00
Henri Verbeet
a16cf58494
wined3d: Fix a couple of typos.
2010-08-16 13:47:53 +02:00
Henri Verbeet
b20df2a24c
wined3d: Round up to complete compressed blocks in IWineD3DDeviceImpl_UpdateSurface().
...
This is mostly an issue for surfaces with dimensions smaller than their
format's block width/height.
2010-08-16 13:47:49 +02:00
Henri Verbeet
e1188b0c8e
wined3d: Fix some misspellings of "surface".
2010-08-16 13:47:17 +02:00
Henri Verbeet
5f2fcfdd6b
wined3d: Reattach FBO attachments when any of the corresponding surfaces is unloaded.
2010-08-16 13:47:08 +02:00
Henri Verbeet
43a86d1e56
wined3d: Cleanup Get/SetDepthStencilSurface().
2010-08-04 13:24:17 +02:00
Henri Verbeet
009cd78fa4
wined3d: Cleanup Get/SetRenderTarget().
2010-08-04 13:24:14 +02:00
Henri Verbeet
6e30387f81
wined3d: Replace color_fill_fbo() with device_clear_render_targets().
2010-08-04 13:24:07 +02:00
Henri Verbeet
b2e1e1fd71
wined3d: Pass the color as floating point values to device_clear_render_targets().
2010-08-03 11:06:42 +02:00
Stefan Dösinger
fc5eeebe1a
wined3d: Add double to float conversion casts in device.c.
2010-08-02 12:55:22 +02:00
Stefan Dösinger
8db119b700
wined3d: Use the correct type in device_unit_free_for_vs.
2010-07-30 11:41:59 +02:00
Henri Verbeet
237f39377f
wined3d: Move the draw buffer array to the context.
2010-07-30 11:36:03 +02:00
Henri Verbeet
3ad82a82bb
wined3d: The stateblock doesn't have a parent.
2010-07-30 11:36:03 +02:00
Henri Verbeet
41346a1dae
wined3d: Setting render target 0 to NULL in an application error.
2010-07-28 12:22:55 +02:00
Henri Verbeet
3e37b27d37
wined3d: Cleanup Get/SetRenderState traces a bit.
2010-07-26 18:38:31 +02:00
Henri Verbeet
0bf68b846a
wined3d: Merge strect_rect_fbo() and surface_load_srgb_fbo().
2010-07-26 18:38:31 +02:00
Henri Verbeet
943fb2fb57
wined3d: Do RGB <=> sRGB transfers using FBO blits.
...
Concept based on a patch by Stefan.
2010-07-26 18:38:31 +02:00
Henri Verbeet
2f028f0340
wined3d: Avoid loading the destination surface in stretch_rect_fbo() if it will be completely overwritten.
2010-07-23 11:46:55 +02:00
Henri Verbeet
d374d85055
wined3d: Clear all render targets in an MRT setup.
2010-07-23 11:46:47 +02:00
Henri Verbeet
3d8ff7f27a
wined3d: Framebuffer blits are affected by the color mask.
2010-07-22 10:13:36 +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
Henri Verbeet
c411b45da9
wined3d: Use a more consistent name for the normalized texrect "extension".
2010-07-21 09:33:18 +02:00
Henri Verbeet
3ecaa4a41a
wined3d: Invalidate STATE_STREAMSRC in IWineD3DDeviceImpl_EvictManagedResources().
2010-07-08 17:33:37 +02:00
Henri Verbeet
e8ac9bbd7f
wined3d: Get rid of GLINFO_LOCATION.
2010-05-25 13:29:00 +02:00
Michael Stefaniuc
6d89364ad1
wined3d: Avoid using the long type.
2010-05-21 18:58:04 +02:00
Henri Verbeet
11b8c425e9
wined3d: Set the device.c GLINFO_LOCATION to *gl_info.
2010-05-21 14:37:53 +02:00
Henri Verbeet
5dff410254
wined3d: Explicitly pass GL info to buffer_get_sysmem().
2010-05-21 14:37:52 +02:00
Henri Verbeet
e647309402
wined3d: Explicitly pass GL info to buffer_create_buffer_object().
2010-05-21 14:37:52 +02:00
Henri Verbeet
db0784e1da
wined3d: Introduce a separate function for translating front buffer coordinates to GL coordinates.
2010-05-21 14:37:52 +02:00
Roderick Colenbrander
ee9b409fce
wined3d: Use BltFast in UpdateSurface when desc.convert is set.
2010-05-17 14:44:09 +02:00
Henri Verbeet
44ab3d70f1
wined3d: Handle depth/stencil surfaces in IWineD3DSurfaceImpl_LoadLocation().
2010-05-17 13:19:40 +02:00
Alexandre Julliard
e45926d582
wined3d: Don't crash during initialization if the adapter doesn't have full GL info.
2010-05-06 14:57:21 +02:00
Henri Verbeet
3345146d0b
wined3d: Use the FBO cache in stretch_rect_fbo().
2010-05-06 14:17:24 +02:00
Henri Verbeet
8de7d2ed4c
wined3d: Use context_apply_clear_state() in color_fill_fbo().
2010-05-05 10:37:43 +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
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
0122cee51f
wined3d: Make sure all fields of the shader backend caps are always initialized.
2010-05-03 13:50:57 +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
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
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
23a377f02b
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_init_sysmem().
2010-04-28 07:31:13 -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
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
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
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
fb189b39a9
wined3d: Immediately return on redundant changes in IWineD3DDeviceImpl_SetDepthStencilSurface().
2010-04-20 11:14:52 +02:00
Henri Verbeet
5056fd309d
wined3d: Get rid of a useless local variable in IWineD3DDeviceImpl_SetDepthStencilSurface().
2010-04-20 11:14:48 +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
520f74de21
wined3d: Store the auto depth/stencil surface as an IWineD3DSurfaceImpl pointer in the device.
2010-04-20 11:14:35 +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
03dc612c9c
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_is_offscreen().
2010-04-19 14:55:31 +02:00
Henri Verbeet
efb3993a3a
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_modify_ds_location().
2010-04-19 14:55:24 +02:00
Henri Verbeet
ae46589f53
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_load_ds_location().
2010-04-19 14:55:19 +02:00
Henri Verbeet
738ca2f5fc
wined3d: Allow offscreen depth/stencil clears again with FBOs.
...
This fixes a regression introduced by 10f58c14bc
.
2010-04-16 16:24:40 +02:00
Henri Verbeet
f6e923b55d
wined3d: Remove some dead code from IWineD3DDeviceImpl_Uninit3D().
2010-04-16 12:09:48 +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
65797d7f75
wined3d: Get rid of glRect from IWineD3DSurfaceImpl.
...
604caf0caa
supposedly removed the "oversized
texture" code, but this was still left over.
2010-04-16 12:09:14 +02:00
Roderick Colenbrander
10f58c14bc
wined3d: Improve FBO support in ClearSurface.
2010-04-15 14:20:40 +02:00
Henri Verbeet
8eb2a2cf0c
wined3d: Disable strict draw ordering by default.
...
While some performance hit from the extra flushes was expected and would be
acceptable, the performance hit can be over 50% on some configurations, which
clearly isn't acceptable. This patch introduces a "StrictDrawOrdering"
registry key for applications affected by this, until we have a more
structural solution.
2010-04-13 21:13:36 +02:00
Henri Verbeet
ab80e9739c
wined3d: Add a separate function for palette initialization.
2010-04-13 21:13:26 +02:00
Henri Verbeet
d1d8c81439
wined3d: Add a separate function for rendertarget view initialization.
2010-04-13 21:13:21 +02:00
Roderick Colenbrander
a4559e761b
wined3d: Move srgb checks away from d3dfmt_get_conv.
2010-04-09 16:50:20 +02:00
Roderick Colenbrander
00598c3e36
wined3d: Let d3dfmt_get_conv return a wined3d_format_desc.
2010-04-09 16:50:20 +02:00
Alexandre Julliard
90f4ae6948
wined3d: Remove unused offset parameter in buffer_get_memory.
2010-04-09 15:47:23 +02:00
Henri Verbeet
55a96174c8
wined3d: Add a separate function for adding declaration elements in ConvertFvfToDeclaration().
2010-04-07 13:50:23 +02:00
Henri Verbeet
224c376528
wined3d: Make some functions static.
2010-04-05 11:37:34 +02:00
Henri Verbeet
fcee05586b
wined3d: Simply inline dumpResources().
2010-04-05 11:37:28 +02:00
Roderick Colenbrander
ff82e66a69
wined3d: Move upsideDown calculation to blit implementation.
2010-04-02 15:22:51 +02:00
Henri Verbeet
91db9f8bd3
wined3d: Remove a redundant initialization in IWineD3DDeviceImpl_UpdateSurface().
2010-03-31 16:32:41 +02:00
Henri Verbeet
3af0909693
wined3d: Get rid of some mostly useless local variables in IWineD3DDeviceImpl_UpdateSurface().
2010-03-31 16:32:35 +02:00
Henri Verbeet
61ca407151
wined3d: Cleanup variable naming in IWineD3DDeviceImpl_UpdateSurface().
2010-03-31 16:32:29 +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
Roderick Colenbrander
ae26d9defd
wined3d: Use RECT instead of WINED3DRECT in stretch_rect_fbo.
2010-03-31 16:12:27 +02:00
Henri Verbeet
72be7fe3a5
wined3d: Get rid of destFormat and srcFormat in IWineD3DDeviceImpl_UpdateSurface().
2010-03-30 14:49:32 +02:00
Henri Verbeet
eced5fe8ec
wined3d: Calculate "offset" in the appropriate path in IWineD3DDeviceImpl_UpdateSurface().
2010-03-30 14:49:32 +02:00
Henri Verbeet
bb94bc3823
wined3d: Add more general support for partial updates of compressed surfaces to IWineD3DDeviceImpl_UpdateSurface().
2010-03-30 14:49:31 +02:00
Henri Verbeet
88a2decc49
wined3d: Source and destination formats should match in IWineD3DDeviceImpl_UpdateSurface().
2010-03-30 14:49:31 +02:00
Henri Verbeet
0eae42ddc6
wined3d: Use GL_UNPACK_ROW_LENGTH for partial updates of regular surfaces in IWineD3DDeviceImpl_UpdateSurface().
2010-03-30 14:49:31 +02:00
Roderick Colenbrander
f724843f14
wined3d: Move argb_to_fmt to utils.c as a helper function to be used in more places.
2010-03-30 13:53:54 +02:00
Michael Stefaniuc
6997c8d70c
wined3d: Remove superfluous cast of zero.
2010-03-29 11:49:58 +02:00
Henri Verbeet
eb064db083
wined3d: Add support for partial updates of compressed surfaces to IWineD3DDeviceImpl_UpdateSurface().
2010-03-26 10:29:39 +01:00
Henri Verbeet
d5ff1e640c
wined3d: glColorMask() changes the write mask for all render targets.
2010-03-26 10:29:17 +01:00
Henri Verbeet
9866125e23
wined3d: Just mark the color write mask dirty in IWineD3DDeviceImpl_ClearSurface().
2010-03-25 10:01:59 +01:00
Henri Verbeet
9eb5ba435e
wined3d: Use the same order of operations for depth clears as for stencil clears.
2010-03-25 10:01:54 +01:00
Henri Verbeet
2e7e118899
wined3d: Just mark the stencil write mask dirty in IWineD3DDeviceImpl_ClearSurface().
2010-03-25 10:01:49 +01:00
Henri Verbeet
1c4e9e6a0e
wined3d: Disable two-sided stencil when doing stencil clears.
2010-03-25 10:01:44 +01:00
Stefan Dösinger
1181762f99
wined3d: Implement manual buffer fencing.
2010-03-23 12:31:15 +01:00
Henri Verbeet
3aaa6ee6e7
wined3d: Rename GlPixelFormatDesc to wined3d_format_desc.
2010-03-19 14:31:47 +01:00
Henri Verbeet
7c930589bc
wined3d: Avoid some common invalid context accesses.
...
Unfortunately there are plenty of other places left. Perhaps we should
consider creating our own window when the context becomes invalid and making
the context current on that instead.
2010-03-18 10:25:09 +01:00
Henri Verbeet
914c8cb8ea
ddraw: Acquire/release the focus window from the correct location.
2010-03-18 10:24:15 +01:00
Henri Verbeet
0838d0ab64
wined3d: Make the focus window also the foreground window.
2010-03-18 10:24:05 +01:00
Henri Verbeet
4e48ae2629
ddraw: Implement IDirectDrawImpl_GetSurfaceFromDC().
...
This is a pretty naive implementation, should that become a performance
problem it's easy enough to speed up with a search tree of some kind.
2010-03-17 10:06:25 +01:00
Henri Verbeet
7b52c2fbed
wined3d: Cleanup IWineD3DDeviceImpl_SetFrontBackBuffers().
2010-03-17 10:06:21 +01:00
Henri Verbeet
e9dbd5bff8
wined3d: Don't change the draw buffer in IWineD3DDeviceImpl_SetFrontBackBuffers().
...
This should be handled by the context's draw buffer management.
2010-03-17 10:06:18 +01:00
Henri Verbeet
509b038cf5
wined3d: Simplify the IWineD3DDeviceImpl_ClearSurface() surface loading code.
2010-03-17 10:06:15 +01:00
Henri Verbeet
cd9a8b74b9
wined3d: Store the device window in the swapchain.
...
The swapchain's current window might be changed by SetDestWindowOverride().
2010-03-16 11:45:11 +01:00