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