Commit Graph

1698 Commits

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