Henri Verbeet
d93e61f249
wined3d: Release the stateblock only after mode setting in wined3d_device_reset().
...
While we're allowed to leave the device in a somewhat inconsistent state after
a failed reset, such a state should be recoverable by calling reset again. If
e.g. mode setting were to fail between the point where we destroy and recreate
the stateblock a subsequent reset would crash because the device doesn't have
a stateblock anymore.
2012-06-26 17:32:59 +02:00
Henri Verbeet
0ee3007963
wined3d: Only unset the onscreen depth / stencil buffer once in wined3d_device_reset().
2012-06-26 17:32:48 +02:00
Józef Kucia
d760b21ab6
wined3d: Use the system memory pool for the logo surface.
2012-06-25 18:12:53 +02:00
Henri Verbeet
b6c7b825a1
wined3d: Only store a different screen format if it's explicitly changed through wined3d.
2012-06-22 16:14:14 +02:00
Henri Verbeet
c2c0743ccf
wined3d: Properly retrieve the display mode in wined3d_device_set_cursor_properties().
2012-06-22 16:14:08 +02:00
Henri Verbeet
7000899948
wined3d: Just forward wined3d_device_get_display_mode() to the appropriate swapchain.
2012-06-22 16:14:03 +02:00
Henri Verbeet
0f0fe49240
wined3d: Implement mode setting in the adapter instead of the device.
2012-06-22 16:13:58 +02:00
Henri Verbeet
2a0463ac21
wined3d: Only filter redundant mode changes in wined3d.
2012-06-20 19:26:56 +02:00
Henri Verbeet
a6ffab3bf5
wined3d: Rename WINED3DLOCK_* to WINED3D_MAP_*.
2012-06-18 17:48:56 +02:00
Henri Verbeet
befdbbd90f
wined3d: Reset render target bindings in wined3d_device_reset().
2012-06-18 17:48:21 +02:00
Henri Verbeet
130f232d20
wined3d: Unset the depth/stencil surface before checking resources in wined3d_device_reset().
2012-06-18 17:48:16 +02:00
Francois Gouget
19ba80e7c2
wined3d: We must include Wine's port.h before using NAN.
2012-06-01 17:41:52 +02:00
Henri Verbeet
aa71065d9b
wined3d: Properly preload index buffers.
2012-05-29 10:44:50 +02:00
Henri Verbeet
e3ecfa5974
wined3d: Store user clip planes as 4-component float vectors.
2012-05-22 18:07:02 +02:00
Henri Verbeet
481514eab2
wined3d: Get rid of the conv_mat macro.
2012-05-22 18:06:54 +02:00
Henri Verbeet
0d45d50342
wined3d: Don't evict resources that are currently mapped in wined3d_device_evict_managed_resources().
2012-05-21 21:31:02 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
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