Commit Graph

1670 Commits

Author SHA1 Message Date
Henri Verbeet 08e8b0a70a wined3d: Don't return a surface for a NULL dc in wined3d_device_get_surface_from_dc(). 2011-11-23 09:13:44 +01:00
Henri Verbeet 2e1c0d83c1 wined3d: Get rid of the WINED3DGAMMARAMP typedef. 2011-11-22 10:52:45 +01:00
Henri Verbeet be8917cd91 wined3d: Get rid of the WINED3DVIEWPORT typedef. 2011-11-22 10:52:40 +01:00
Henri Verbeet 02bb70fc3b wined3d: Get rid of the WINED3DMATERIAL typedef. 2011-11-21 11:01:02 +01:00
Henri Verbeet f597359727 wined3d: Get rid of the WINED3DLIGHT typedef. 2011-11-21 11:00:57 +01:00
Henri Verbeet 37a0f7ad65 wined3d: Get rid of the WINED3DMATRIX typedef. 2011-11-18 14:26:16 +01:00
Henri Verbeet 18a7653c78 wined3d: Get rid of the WINED3DDISPLAYMODE typedef. 2011-11-17 11:37:26 +01:00
Henri Verbeet e0a0d611af wined3d: Pass a wined3d_color struct to wined3d_device_clear(). 2011-11-16 09:41:53 +01:00
Henri Verbeet 7459180a51 wined3d: Get rid of the WINED3DCOLORVALUE typedef. 2011-11-16 09:41:50 +01:00
Henri Verbeet 323a95418e wined3d: Get rid of the WINED3DSAMPLER_TEXTURE_TYPE typedef. 2011-11-09 11:34:24 +01:00
Henri Verbeet 896aaa67ca wined3d: Get rid of holdbitmap from wineD3DSurface_DIB. 2011-11-08 09:50:18 +01:00
Matteo Bruni 095a9a6893 wined3d: Refuse to create a shader unsupported by the backend. 2011-10-26 12:41:35 +02:00
Henri Verbeet 7aac0159a9 wined3d: Move the ARB shader program constant handling to the backend where it belongs. 2011-10-26 12:41:33 +02:00
Henri Verbeet 2da4f87a7e wined3d: Upload directly from the source surface in wined3d_surface_blt(), if possible.
This avoids either loading sysmem surfaces into video memory (wasting GPU
memory) and then doing a blit on the GPU, or downloading GPU surfaces to
sysmem, doing a blit on the CPU, and likely uploading it again. This mostly
matters for ddraw and d3d8 applications, d3d9 already has to go through
wined3d_device_update_surface() to transfer data from sysmem surfaces to GPU
surfaces.
2011-10-25 16:57:23 +02:00
Henri Verbeet a2c754dde8 wined3d: Make the device parameter to wined3d_device_get_surface_from_dc() const. 2011-10-21 12:09:43 +02:00
Henri Verbeet 5f6dd5384c wined3d: Move the cursor in wined3d_device_set_cursor_position(). 2011-10-21 12:09:34 +02:00
Henri Verbeet da32d34439 wined3d: Make the device parameter to wined3d_device_get_gamma_ramp() const. 2011-10-20 11:03:28 +02:00
Henri Verbeet 23ee1a451b wined3d: Make the device parameter to wined3d_device_set_gamma_ramp() const. 2011-10-20 11:03:22 +02:00
Henri Verbeet 73723911aa wined3d: Make the device parameter to wined3d_device_get_creation_parameters() const. 2011-10-19 12:24:43 +02:00
Henri Verbeet d607586d62 wined3d: Make the present_parameters parameter to wined3d_device_reset() const. 2011-10-19 12:24:36 +02:00
Henri Verbeet 6cc9a89c8a wined3d: Make the device parameter to is_display_mode_supported() const. 2011-10-18 15:10:33 +02:00
Henri Verbeet 71640e00f9 wined3d: Make the device parameter to invalidate_active_texture() const. 2011-10-18 15:10:27 +02:00
Henri Verbeet fcd1de2b09 wined3d: Make the device parameter to wined3d_device_get_depth_stencil() const. 2011-10-17 17:45:02 +02:00
Henri Verbeet ebbd5ecf7c wined3d: Make the device parameter to wined3d_device_get_render_target() const. 2011-10-17 17:45:02 +02:00
Henri Verbeet a9fcaed610 wined3d: Make the device parameter to wined3d_device_get_npatch_mode() const. 2011-10-14 13:12:27 +02:00
Henri Verbeet 39f898b26a wined3d: Make the device parameter to wined3d_device_get_raster_status() const. 2011-10-14 13:12:27 +02:00
Henri Verbeet 652d80d9d8 wined3d: Make the device parameter to wined3d_device_get_software_vertex_processing() const. 2011-10-11 19:43:41 +02:00
Henri Verbeet dd2378cbf2 wined3d: Make the device parameter to wined3d_device_validate_device() const. 2011-10-11 19:43:38 +02:00
Henri Verbeet 229662fc46 wined3d: Make the device parameter to wined3d_device_get_front_buffer_data() const. 2011-10-11 19:43:35 +02:00
Stefan Dösinger 496b438ede wined3d: Remove d3d8/9 palette support. 2011-10-11 13:37:49 +02:00
Henri Verbeet 39a8ed3a00 wined3d: Make the device parameter to wined3d_device_get_primitive_type() const. 2011-10-10 13:40:38 +02:00
Henri Verbeet 739a9d9805 wined3d: Return WINED3DERR_NOTFOUND if the render target is NULL in wined3d_device_get_render_target().
This is similar to how wined3d_device_get_depth_stencil() works.
2011-10-10 13:39:39 +02:00
Henri Verbeet adf9e6120d wined3d: Make the device parameter to wined3d_device_present() const. 2011-10-03 14:38:56 -05:00
Henri Verbeet 013991e6e4 wined3d: Make the device parameter to wined3d_device_get_display_mode() const. 2011-09-22 09:39:16 +02:00
Henri Verbeet 72d75b65b7 wined3d: Make the device parameter to wined3d_device_get_device_caps() const. 2011-09-22 09:39:14 +02:00
Henri Verbeet 5177a5f686 wined3d: Make the device parameter to wined3d_device_get_back_buffer() const. 2011-09-20 16:21:38 +02:00
Henri Verbeet 11323b4416 wined3d: Make the device parameter to wined3d_device_get_texture() const. 2011-09-20 16:21:38 +02:00
Henri Verbeet ba69e7802a wined3d: Make the device parameter to wined3d_device_get_texture_stage_state() const. 2011-09-19 17:56:05 +02:00
Henri Verbeet fda48415ac wined3d: Make the declaration parameter to wined3d_device_process_vertices() const. 2011-09-19 17:56:05 +02:00
Henri Verbeet 0ad7e98d24 wined3d: Make the device parameter to process_vertices_strided() const. 2011-09-16 17:23:08 +02:00
Henri Verbeet a61fe27fb8 wined3d: Make the device parameter to wined3d_device_get_ps_consts_f() const. 2011-09-16 17:23:08 +02:00
Henri Verbeet 73a4deb0b8 wined3d: Make the device parameter to wined3d_device_get_ps_consts_i() const. 2011-09-15 15:41:40 +02:00
Henri Verbeet fc488f4949 wined3d: Make the device parameter to wined3d_device_get_ps_consts_b() const. 2011-09-15 15:41:40 +02:00
Henri Verbeet 65064a09ce wined3d: Make the device parameter to wined3d_device_get_pixel_shader() const. 2011-09-14 09:59:20 +02:00
Henri Verbeet 8a12e951e6 wined3d: Make the device parameter to device_unit_free_for_vs() const. 2011-09-14 09:59:18 +02:00
Henri Verbeet c67ca538bb wined3d: Make the device parameter to wined3d_device_get_vs_consts_f() const. 2011-09-13 09:19:57 +02:00
Henri Verbeet 4ba464bd4c wined3d: Rename markTextureStagesDirty() to device_invalidate_texture_stage(). 2011-09-13 09:19:53 +02:00
Henri Verbeet d7fa599974 wined3d: Make the device parameter to wined3d_device_get_vs_consts_i() const. 2011-09-12 10:09:07 +02:00
Henri Verbeet 098d30946d wined3d: Make the device parameter to wined3d_device_get_vs_consts_b() const. 2011-09-12 10:09:03 +02:00
Henri Verbeet 5385e1b3df wined3d: Make the device parameter to wined3d_device_get_vertex_shader() const. 2011-09-09 13:33:39 +02:00
Henri Verbeet 31906458da wined3d: Make the device parameter to wined3d_device_get_vertex_declaration() const. 2011-09-09 13:33:36 +02:00
Henri Verbeet 20e9b3f13f wined3d: Make the device parameter to wined3d_device_get_scissor_rect() const. 2011-09-08 11:11:27 +02:00
Henri Verbeet 919d3ab9e4 wined3d: Make the device parameter to wined3d_device_get_sampler_state() const. 2011-09-08 11:11:24 +02:00
Henri Verbeet 33f087c95d wined3d: Make the device parameter to wined3d_device_get_render_state() const. 2011-09-07 11:12:52 +02:00
Henri Verbeet b55dcfd35a wined3d: Make the device parameter to wined3d_device_get_viewport() const. 2011-09-07 11:12:48 +02:00
Henri Verbeet cf010c563c wined3d: Make the device parameter to wined3d_device_get_base_vertex_index() const. 2011-09-06 10:48:43 +02:00
Henri Verbeet cb82e57290 wined3d: Make the device parameter to wined3d_device_get_index_buffer() const. 2011-09-06 10:48:41 +02:00
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