Henri Verbeet
c525cf381d
wined3d: Move "vs_clipping" to the shader caps.
2013-01-21 12:51:22 +01:00
Henri Verbeet
e73aa3e83d
wined3d: Get rid of vs_selected_mode / ps_selected_mode from struct wined3d_device.
...
These are only used by wined3d_shader_create_vs() /
wined3d_shader_create_ps(), but they're redundant there since the "none"
shader backend doesn't support any shader version.
2013-01-18 13:29:04 +01:00
Henri Verbeet
6c7cce55a7
wined3d: Get rid of the "opengl" field in struct wined3d_adapter.
2013-01-17 12:22:05 +01:00
Henri Verbeet
ce912d5149
wined3d: Get rid of the surface_type parameter to wined3d_surface_create().
2013-01-17 12:21:55 +01:00
Henri Verbeet
f3dbbba48e
wined3d: Initialize the various backends in wined3d_adapter_init_nogl() as well.
2013-01-16 12:22:43 +01:00
Henri Verbeet
3e7c800e9c
wined3d: Get rid of the user_stream field from wined3d_state.
...
All remaining uses are equivalent to "device->up_strided". (Which should of
course eventually go away as well.)
2013-01-07 11:12:23 +01:00
Henri Verbeet
44b462c9b4
wined3d: Just restore state->user_stream in wined3d_device_draw_indexed_primitive_strided().
2013-01-04 12:17:01 +01:00
Henri Verbeet
b557f5ba3a
wined3d: Don't touch state->user_stream in wined3d_device_process_vertices().
...
device_stream_info_from_declaration() no longer cares about
state->user_stream.
2013-01-04 12:16:56 +01:00
Henri Verbeet
76a2864a3b
wined3d: state->user_stream is always FALSE in device_stream_info_from_declaration().
...
Since user pointer draws were removed, state->user_stream will only ever be
set for "strided" draws, and device_stream_info_from_declaration() is never
called for those.
2013-01-04 12:16:49 +01:00
Stefan Dösinger
8cf55497cc
wined3d: Remove draw_*_primitive_up.
...
Note that I can't remove the state->user_stream mess yet, because of
draw_*_primitive_strided. Another patchset will deal with that.
2012-12-19 12:53:28 +01:00
Henri Verbeet
78984cf46c
wined3d: Get rid of ENTER_GL / LEAVE_GL.
2012-12-11 12:03:39 +01:00
Henri Verbeet
9fbd3bbed6
d3d10core: Implement d3d10_device_PSGetSamplers().
2012-12-10 11:25:49 +01:00
Henri Verbeet
4c4131cd78
d3d10core: Implement d3d10_device_PSSetSamplers().
2012-12-10 11:25:46 +01:00
Henri Verbeet
2c01e11eca
d3d10core: Implement d3d10_device_GSGetSamplers().
2012-12-07 10:35:51 +01:00
Henri Verbeet
047d607e07
d3d10core: Implement d3d10_device_GSSetSamplers().
2012-12-07 10:35:44 +01:00
Henri Verbeet
c98767a425
d3d10core: Implement d3d10_device_VSGetSamplers().
2012-12-06 12:55:59 +01:00
Henri Verbeet
e5805c316c
d3d10core: Implement d3d10_device_VSSetSamplers().
2012-12-06 12:55:50 +01:00
Henri Verbeet
6ac3c48384
d3d10core: Implement d3d10_device_PSGetConstantBuffers().
2012-12-05 12:44:07 +01:00
Henri Verbeet
b034f49183
d3d10core: Implement d3d10_device_PSSetConstantBuffers().
2012-12-05 12:44:01 +01:00
Henri Verbeet
d906c94382
d3d10core: Implement d3d10_device_GSGetConstantBuffers().
2012-12-04 00:02:06 +01:00
Henri Verbeet
feda45279e
d3d10core: Implement d3d10_device_GSSetConstantBuffers().
2012-12-04 00:02:00 +01:00
Henri Verbeet
027ef4ccdb
d3d10core: Implement d3d10_device_VSGetConstantBuffers().
2012-11-30 11:42:54 +01:00
Henri Verbeet
ae5e15319e
d3d10core: Implement d3d10_device_VSSetConstantBuffers().
2012-11-30 11:42:48 +01:00
Henri Verbeet
56b3953207
wined3d: Fix a typo in wined3d_device_set_stream_output().
2012-11-29 00:16:50 +01:00
Henri Verbeet
7f62678c16
d3d10core: Implement d3d10_device_DrawIndexedInstanced().
2012-11-27 16:54:57 +01:00
Henri Verbeet
dc67be012f
d3d10core: Implement d3d10_device_SOGetTargets().
2012-11-23 14:40:36 +01:00
Henri Verbeet
5b781d709d
d3d10core: Implement d3d10_device_SOSetTargets().
2012-11-23 14:40:30 +01:00
Henri Verbeet
d0d213f7d1
d3d10core: Implement d3d10_device_IAGetIndexBuffer().
2012-11-21 13:25:57 +01:00
Henri Verbeet
79f0b4d977
d3d9: Avoid resetting device state for d3d9ex resets.
2012-11-20 11:44:27 +01:00
Henri Verbeet
94ab9d5ef3
wined3d: Update the scissor rect and viewport even on redundant wined3d_device_set_render_target() calls.
2012-11-19 11:46:55 +01:00
Henri Verbeet
9a27b0ad71
wined3d: Add support for geometry shaders to the GLSL shader backend.
2012-11-15 12:19:36 +01:00
Henri Verbeet
25c449247f
d3d10core: Implement d3d10_device_GSGetShader().
2012-11-14 11:27:44 +01:00
Henri Verbeet
9081f8afb1
d3d10core: Implement d3d10_device_GSSetShader().
2012-11-14 11:27:40 +01:00
Henri Verbeet
17e33e9b27
wined3d: Make the shader backend responsible for controlling the fixed function fragment pipe.
2012-10-25 11:48:31 +02:00
Henri Verbeet
ddbe791d37
wined3d: Set texture_level in surface_set_texture_target() as well.
2012-10-24 11:24:22 +02:00
Henri Verbeet
5fcc1f8f70
wined3d: Just return the surface from wined3d_swapchain_get_back_buffer().
2012-10-04 14:09:50 +02:00
Henri Verbeet
50c61959eb
wined3d: Just return the surface from wined3d_device_get_surface_from_dc().
2012-10-03 11:19:41 +02:00
Henri Verbeet
2ad5808996
wined3d: wined3d_device_get_creation_parameters() never fails.
2012-10-01 23:07:55 +02:00
Henri Verbeet
6e5cf8c698
wined3d: wined3d_device_set_depth_stencil() never fails.
2012-10-01 23:07:51 +02:00
Marcus Meissner
8ec6ebe4fb
wined3d: Move texture reference decrement to end of usage (Coverity).
2012-10-01 12:20:40 +02:00
Henri Verbeet
95b4207c7f
wined3d: Just return the surface from wined3d_device_get_depth_stencil().
2012-10-01 12:11:02 +02:00
Henri Verbeet
972217fd6a
wined3d: Just return the surface from wined3d_device_get_render_target().
2012-10-01 12:10:55 +02:00
Henri Verbeet
c0f52fbf1c
wined3d: wined3d_device_set_software_vertex_processing() never fails.
2012-09-27 13:10:48 +02:00
Henri Verbeet
f9d494294a
wined3d: Just return the texture from wined3d_device_get_texture().
2012-09-27 13:10:43 +02:00
Henri Verbeet
c0a83b1d96
wined3d: wined3d_device_get_texture_stage_state() never fails.
2012-09-26 14:40:35 +02:00
Henri Verbeet
26c0714009
wined3d: wined3d_device_set_texture_stage_state() never fails.
2012-09-26 14:40:33 +02:00
Henri Verbeet
6e4c40689c
wined3d: Just return the shader from wined3d_device_get_pixel_shader().
2012-09-25 11:19:11 +02:00
Henri Verbeet
fc711d4955
wined3d: wined3d_device_set_pixel_shader() never fails.
2012-09-25 11:19:07 +02:00
Henri Verbeet
6909b5143b
wined3d: Just return the shader from wined3d_device_get_vertex_shader().
2012-09-24 09:58:06 +02:00
Henri Verbeet
b97ec7ae0c
wined3d: wined3d_device_set_vertex_shader() never fails.
2012-09-24 09:58:03 +02:00
Henri Verbeet
2f03ad1a40
wined3d: Just return the declaration from wined3d_device_get_vertex_declaration().
2012-09-21 10:53:10 +02:00
Henri Verbeet
01918d05ed
wined3d: wined3d_device_set_vertex_declaration() never fails.
2012-09-21 10:53:06 +02:00
Henri Verbeet
de1ae1eb8a
wined3d: wined3d_device_get_scissor_rect() never fails.
2012-09-19 23:54:59 +02:00
Henri Verbeet
2de9fc640b
wined3d: wined3d_device_set_scissor_rect() never fails.
2012-09-19 23:54:56 +02:00
Henri Verbeet
fb989f1d1e
wined3d: Implement version checks for geometry shaders.
2012-09-19 13:04:56 +02:00
Henri Verbeet
62670c7ba5
wined3d: wined3d_device_get_sampler_state() never fails.
2012-09-19 13:04:52 +02:00
Henri Verbeet
0d96be2c20
wined3d: wined3d_device_set_sampler_state() never fails.
2012-09-19 13:04:48 +02:00
Henri Verbeet
343974e2fd
wined3d: wined3d_device_get_material() never fails.
2012-09-18 10:18:51 +02:00
Henri Verbeet
2669feeb8c
wined3d: wined3d_device_set_material() never fails.
2012-09-18 10:18:42 +02:00
Henri Verbeet
90bd04c6b6
wined3d: wined3d_device_multiply_transform() never fails.
2012-09-14 15:43:20 +02:00
Henri Verbeet
b8feef8833
wined3d: wined3d_device_set_base_vertex_index() never fails.
2012-09-13 10:23:14 +02:00
Henri Verbeet
706ece827b
wined3d: wined3d_device_get_transform() never fails.
2012-09-12 12:46:12 +02:00
Henri Verbeet
f79bbc767d
wined3d: wined3d_device_set_transform() never fails.
2012-09-12 12:46:07 +02:00
Henri Verbeet
d601a0dede
wined3d: wined3d_device_get_render_state() never fails.
2012-09-11 18:03:57 +02:00
Henri Verbeet
75cec973d5
wined3d: wined3d_device_set_render_state() never fails.
2012-09-11 18:03:53 +02:00
Henri Verbeet
3569b6ccd2
wined3d: wined3d_device_get_viewport() never fails.
2012-09-10 11:40:19 +02:00
Henri Verbeet
64aae8cf02
wined3d: wined3d_device_set_viewport() never fails.
2012-09-10 11:40:14 +02:00
Henri Verbeet
c8f4ca315e
wined3d: Just return the buffer from wined3d_device_get_index_buffer().
2012-09-06 15:45:32 +02:00
Henri Verbeet
a3e28f6ce5
wined3d: wined3d_device_set_index_buffer() never fails.
2012-09-06 15:45:32 +02:00
Henri Verbeet
8fd7d3a2b3
wined3d: Just return the swapchain from wined3d_device_get_swapchain().
2012-09-05 11:48:04 +02:00
Henri Verbeet
66ec8a5cfb
wined3d: Get rid of wined3d_device_get_wined3d().
2012-09-04 15:05:22 +02:00
Jonas Wielicki
a64b7918c8
wined3d: Fix crash in wined3d_device_reset with gdi backend for directdraw.
2012-08-29 20:13:42 +02:00
Henri Verbeet
894d161891
wined3d: Call core GL functions through gl_info.gl_ops as well.
2012-07-25 20:10:08 +02:00
Henri Verbeet
ea8dfe640d
wined3d: Convert some uppercase hex constants to lowercase.
2012-07-20 13:59:53 +02:00
Alexandre Julliard
d7250e97ed
wined3d: Fetch GL functions from the WGL driver table, including glFinish and glFlush.
2012-07-20 13:21:27 +02:00
Henri Verbeet
0821c8024b
wined3d: Merge the device parent create_rendertarget() and create_depth_stencil() handlers.
2012-07-11 09:57:07 -05:00
Henri Verbeet
8ad98cdbee
wined3d: Get rid of the "discard" parameter to device_parent_create_depth_stencil().
2012-07-10 10:39:42 -05:00
Henri Verbeet
73eceafb17
d3d9: Implement d3d9_device_ResetEx().
2012-07-09 15:04:18 -04:00
Henri Verbeet
256d433164
d3d9: Implement d3d9_device_PresentEx().
2012-06-29 10:14:21 +02:00
Henri Verbeet
0ce894f274
d3d9: Implement d3d9_device_GetDisplayModeEx().
2012-06-28 01:39:28 +02:00
Henri Verbeet
2c8834dffd
d3d9: Implement d3d9_GetAdapterDisplayModeEx().
2012-06-28 01:39:27 +02:00
Henri Verbeet
a1bfd0988f
wined3d: Take scanline ordering into account in the mode setting code.
2012-06-28 01:39:26 +02:00
Henri Verbeet
427f3e40dc
wined3d: Get rid of is_display_mode_supported().
...
If a display mode is unsupported, wined3d_set_adapter_display_mode() shouldn't
have a problem figuring that out on its own.
2012-06-28 01:39:24 +02:00
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