Commit Graph

1831 Commits

Author SHA1 Message Date
Henri Verbeet 6b9018ccd2 wined3d: Use the wined3d_matrix structure for the identity matrix. 2012-05-03 23:45:09 +02:00
Henri Verbeet 29893d8162 wined3d: Determine index buffer location based on vertex buffer locations. 2012-05-03 11:18:03 +02:00
Henri Verbeet a8a201cf61 wined3d: Figure out the index data pointer inside drawPrimitive().
We want to do this after context_apply_draw_state(), when resource locations
are all setup.
2012-05-02 11:59:14 +02:00
Henri Verbeet 64e41dae8a wined3d: Figure out the index size inside drawPrimitive(). 2012-05-02 11:59:10 +02:00
Henri Verbeet 42b835754b wined3d: Keep track of "all_vbo" in the stream info structure. 2012-05-01 14:44:15 +02:00
Henri Verbeet de43de510a wined3d: Move the resource bind_count field up to wined3d_resource. 2012-04-26 19:26:14 +02:00
Henri Verbeet 49c4623b2f wined3d: device_clear_render_targets() never fails. 2012-04-16 12:05:15 +02:00
Henri Verbeet 8cef8b3587 wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures. 2012-04-13 10:48:51 +02:00
Henri Verbeet 12369f9f4d wined3d: Fix the VBO check in device_stream_info_from_declaration(). 2012-03-29 20:49:14 +02:00
Henri Verbeet 7017ed4587 wined3d: Drop a questionable FIXME in device_stream_info_from_declaration(). 2012-03-29 20:49:13 +02:00
Henri Verbeet c7d3a8a478 wined3d: Drop the "vbo" check in wined3d_device_process_vertices().
We care about individual streams having a VBO or not, and there's no way for
device_stream_info_from_declaration() to properly express that, so just check
the individual streams.
2012-03-29 20:49:13 +02:00
Henri Verbeet 90739d9474 wined3d: Implement resetting the device window in wined3d_device_reset(). 2012-02-29 20:47:29 +01:00
Henri Verbeet ed47f259bd wined3d: Don't take the wined3d mutex during WM_DISPLAYCHANGE either. 2012-02-21 11:30:10 +01:00
Matteo Bruni b51a657626 wined3d: Use a separate flag for discarded surfaces. 2012-02-02 15:18:09 +01:00
Henri Verbeet 348c655b5c wined3d: Make sure transparent hardware cursors are really transparent.
Loosely based on a patch by Stefan Dösinger.
2012-01-27 14:57:55 +01:00
Henri Verbeet d0347f51ed wined3d: Only take the wined3d mutex during the WM_DISPLAYCHANGE handler in device_process_message().
We can deadlock if we send messages while holding the wined3d mutex and the
message loop is on another thread. Ideally we probably shouldn't send messages
while holding the wined3d mutex at all, but that may be hard to enforce with
the way wined3d locking is currently set up.
2012-01-25 11:25:04 +01:00
Henri Verbeet 41c910d5f0 wined3d: Get rid of the vertex buffer conversion hack in process_vertices_strided().
The main thing that's broken is the unnecessary color conversion in case bgra
vertex arrays are supported. It shouldn't be hard to fix that, but at this
point I don't think this hack even helps a lot anymore.
2012-01-24 11:55:33 +01:00
Henri Verbeet 1ec21e323b wined3d: Rename WineD3DRectPatch to wined3d_rect_patch. 2012-01-20 13:31:36 +01:00
Henri Verbeet 3769afa33d wined3d: Get rid of the WINED3DSURFTYPE typedef. 2012-01-20 13:31:33 +01:00
Henri Verbeet bee9adbd05 wined3d: Get rid of the WINED3DDECLUSAGE typedef. 2012-01-19 11:56:47 +01:00
Henri Verbeet ed417a6f13 wined3d: Get rid of the WINED3DSTATEBLOCKTYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet e53a277305 wined3d: Get rid of the WINED3DPOOL typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 6a5a098b23 wined3d: Get rid of the WINED3DRESOURCETYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet 59df293640 wined3d: Don't print an ERR if the depth/stencil surface still has references in wined3d_device_uninit_3d().
This is completely legitimate in ddraw.
2012-01-18 12:37:37 +01:00
Henri Verbeet e70990041b wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef. 2012-01-13 17:34:31 +01:00
Henri Verbeet afb64506ba ddraw: Implement width and height changes in ddraw_surface7_SetSurfaceDesc(). 2012-01-13 17:34:30 +01:00
Matteo Bruni c6c5c6905e wined3d: Handle discarded depth-stencil surfaces with SFLAG_LOST.
SFLAG_INSYSMEM is already set by surface_add_dirty_rect() for all
surfaces anyway.
2012-01-13 17:34:30 +01:00
Matteo Bruni cbf641e9e0 wined3d: Modify depth-stencil location flags only after allocating the new location. 2012-01-13 17:34:30 +01:00
Henri Verbeet f38e94af7c wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef. 2012-01-12 12:37:18 +01:00
Henri Verbeet be3a9b5ecb wined3d: Hold the wined3d mutex in device_process_message(). 2012-01-12 12:35:50 +01:00
Henri Verbeet b6431d9493 wined3d: Get rid of the WINED3DTEXTUREOP typedef. 2012-01-11 17:47:22 +01:00
Matteo Bruni 1c14c0d2fc wined3d: Don't use separate location flags for depth buffers. 2012-01-10 10:48:26 +01:00
Henri Verbeet 43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet 9a8491045e wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef. 2012-01-09 12:22:17 +01:00
Henri Verbeet 08545dc739 wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef. 2012-01-09 12:22:12 +01:00
Henri Verbeet 45f6def784 wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef. 2012-01-06 19:24:21 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +01:00
Henri Verbeet 67bca436ee wined3d: Get rid of the WINED3DDEVTYPE typedef. 2011-12-13 18:58:58 +01:00
Henri Verbeet e6a4a86608 wined3d: Get rid of the WINED3DPRIMITIVETYPE typedef. 2011-12-12 10:21:01 +01:00
Henri Verbeet b55b683b08 wined3d: Get rid of the WINED3DLIGHTTYPE typedef. 2011-12-12 10:20:57 +01:00
Henri Verbeet d806c37b4a wined3d: Trace all swapchain_desc fields in wined3d_device_reset(). 2011-12-12 10:20:52 +01:00
Henri Verbeet 3dd03f642d wined3d: Get rid of the WINEDDCOLORKEY typedef. 2011-12-08 10:27:53 +01:00
Henri Verbeet 52231bc467 wined3d: Get rid of the WineDirect3DVertexStridedData typedef. 2011-12-08 10:27:50 +01:00
Henri Verbeet 4c3dfa1bca wined3d: Get rid of the WineDirect3DStridedData typedef. 2011-12-07 17:49:56 +01:00
Henri Verbeet 3f455832a3 wined3d: Unbind stateblock resources in wined3d_device_uninit_3d(). 2011-12-07 17:49:55 +01:00
Henri Verbeet 2fa5a22100 wined3d: Get rid of the WINED3DLOCKED_BOX typedef. 2011-12-06 15:50:58 +01:00
Henri Verbeet eafebc0491 wined3d: Get rid of the WINED3DLOCKED_RECT typedef. 2011-12-06 15:50:58 +01:00
Henri Verbeet c43aa1ada8 wined3d: Only unload the surface when we're using GL for rendering in updateSurfaceDesc(). 2011-12-05 12:23:05 +01:00
Henri Verbeet 31bf03d8a1 wined3d: Only recreate GL contexts when we're using GL for rendering in wined3d_device_reset(). 2011-12-05 12:23:02 +01:00
Henri Verbeet df446ae4fe wined3d: Create the device state block when the device is created. 2011-12-05 12:22:58 +01:00
Henri Verbeet 360c1114d6 wined3d: Get rid of the WINED3DRASTER_STATUS typedef. 2011-12-02 11:51:33 +01:00
Henri Verbeet 94c9b0b4fc wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef. 2011-12-02 11:51:29 +01:00
Henri Verbeet 3430e11605 wined3d: Add a flags parameter to wined3d_surface_create(). 2011-11-30 11:50:48 +01:00
Henri Verbeet 82dd612d50 ddraw: Resize the swapchain window on mode changes in exclusive mode. 2011-11-30 11:50:42 +01:00
Henri Verbeet f5a2670689 wined3d: Store the device type only once. 2011-11-28 16:40:47 +01:00
Henri Verbeet d1327bbefe wined3d: Get rid of the WINED3DDEVICE_CREATION_PARAMETERS typedef. 2011-11-28 16:40:47 +01:00
Henri Verbeet 1c74172a28 wined3d: Get rid of the WINED3DCLIPSTATUS typedef. 2011-11-25 16:21:57 +01:00
Henri Verbeet 094f64c823 wined3d: Handle changing the backbuffer format in wined3d_device_reset(). 2011-11-25 16:21:57 +01:00
Henri Verbeet f51bf61d2f wined3d: Use the correct backbuffer format in wined3d_device_reset(). 2011-11-25 16:21:56 +01:00
Henri Verbeet 2fb21e0a2e wined3d: Get rid of the WINED3DTRIPATCH_INFO typedef. 2011-11-24 17:10:06 +01:00
Henri Verbeet 2ecbe2aa0f wined3d: Get rid of the WINED3DRECTPATCH_INFO typedef. 2011-11-23 09:13:58 +01:00
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
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