Commit Graph

1813 Commits

Author SHA1 Message Date
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