Henri Verbeet
1f864bc9c3
wined3d: Send vertex declaration binding updates through the command stream.
2013-10-01 10:57:32 +02:00
Henri Verbeet
fd5fc51bc5
wined3d: Send depth stencil binding updates through the command stream.
2013-10-01 10:57:29 +02:00
Henri Verbeet
438b672660
wined3d: Send render target binding updates through the command stream.
2013-10-01 10:57:27 +02:00
Henri Verbeet
0776060439
wined3d: Send scissor rect updates through the command stream.
2013-09-30 20:34:52 +02:00
Henri Verbeet
8a7744b06e
wined3d: Call state_init_default() from state_init() when the appropriate flag is set.
2013-09-30 20:34:52 +02:00
Henri Verbeet
bc0f990b44
wined3d: Send viewport updates through the command stream.
2013-09-30 20:34:52 +02:00
Henri Verbeet
baf285d46a
wined3d: Send draw operation through the command stream.
2013-09-27 10:33:36 +02:00
Henri Verbeet
708b938f64
wined3d: Send clear operations through the command stream.
2013-09-27 10:33:34 +02:00
Henri Verbeet
602c82bce8
wined3d: Send present operations through a command stream.
...
The eventual goal is to have a multithreaded implementation of wined3d_cs_ops
and offload some processing to a different thread.
2013-09-27 10:33:15 +02:00
Henri Verbeet
4a9da034ab
wined3d: Explicitly pass gl_info to state_init_default().
2013-09-26 10:45:52 +02:00
Henri Verbeet
abbc595fc1
wined3d: Initialize the fb state pointer in state_init().
2013-09-26 10:45:50 +02:00
Henri Verbeet
6793fa7157
wined3d: Initialize the default state in device_init().
2013-09-26 10:45:47 +02:00
Henri Verbeet
8866d733e4
wined3d: Introduce a function to initialize swapchain specific device state.
2013-09-25 11:49:08 +02:00
Francois Gouget
cccba76091
wined3d: Make device_invalidate_shader_constants() static.
2013-09-24 19:08:35 +02:00
Henri Verbeet
bff80b8bab
wined3d: Copy some missing fields to the new swapchain desc in wined3d_device_reset().
...
The ones that matter are enable_auto_depth_stencil and
auto_depth_stencil_format. auto_restore_display_mode should never change in
practice.
2013-09-23 20:37:29 +02:00
Henri Verbeet
864b25e582
wined3d: Introduce a separate function for updating the viewport and scissor rects.
2013-09-23 20:37:05 +02:00
Henri Verbeet
49c6b87a32
wined3d: Only print a warning about render target usage in wined3d_device_set_render_target().
2013-09-20 11:27:40 +02:00
Stefan Dösinger
59e0b841c7
wined3d: Move device_preload_textures into context.c.
2013-09-16 13:06:01 +02:00
Stefan Dösinger
112617f00b
wined3d: Move tex_unit_map and friends into the context.
2013-09-16 13:05:58 +02:00
Stefan Dösinger
fe44be5fde
wined3d: Pass the context to the internal texture_preload function.
2013-09-16 13:05:52 +02:00
Henri Verbeet
fc85f4f7d6
wined3d: Never set the first render target to the front buffer in wined3d_device_init_3d().
2013-09-13 10:57:00 +02:00
Henri Verbeet
3c023a5db5
wined3d: Just set the first render target to NULL in wined3d_device_reset().
2013-09-13 10:56:52 +02:00
Henri Verbeet
def0558b45
wined3d: Just set the first render target to NULL in wined3d_device_uninit_3d().
2013-09-13 10:56:49 +02:00
Stefan Dösinger
d8c43aabf7
wined3d: Move the decoded stream info into the context.
2013-09-12 17:48:14 +02:00
Henri Verbeet
1a78667862
wined3d: Allow the first render target to be set to NULL.
...
Note that it still isn't necessarily safe to render in this case, because
there are places where we assume the first render target is always non-NULL in
order to determine e.g. framebuffer dimensions. It's now the responsibility of
the caller to ensure that doesn't happen.
2013-09-12 10:59:18 +02:00
Henri Verbeet
d21c26e4f6
wined3d: Get rid of surface_modify_location().
2013-09-10 11:09:53 +02:00
Stefan Dösinger
cd203b38a6
wined3d: Pass the context to the main buffer preload function.
2013-09-09 22:10:01 +02:00
Stefan Dösinger
87f931dc64
wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_get_sysmem().
2013-09-09 22:10:00 +02:00
Stefan Dösinger
1cf192172e
wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_create_buffer_object().
2013-09-09 22:10:00 +02:00
Henri Verbeet
b5e0c5d052
wined3d: Get rid of some leftover comments referring to the GL lock.
2013-09-02 18:02:26 +02:00
Henri Verbeet
b85c2a74bb
wined3d: Replace the "stateBlock" wined3d_device field with a wined3d_state structure.
2013-08-27 11:50:53 +02:00
Henri Verbeet
fc5f9d4709
wined3d: Make stateblock_init_default_state() work with a wined3d_state structure instead.
2013-08-27 11:50:53 +02:00
Stefan Dösinger
1bd6710b6f
wined3d: Check volume formats and sizes in device_update_volume.
2013-08-26 19:02:29 +02:00
Stefan Dösinger
9fbc90b8e3
wined3d: UpdateTexture requires a sysmem source and default destination.
2013-08-26 19:02:23 +02:00
Henri Verbeet
4e755d263f
wined3d: Make stateblock_unbind_resources() work with a wined3d_state structure instead.
2013-08-26 10:50:46 +02:00
Henri Verbeet
f02a5f45d4
wined3d: Replace the "updateStateBlock" wined3d_device field with a "update_state" field.
2013-08-26 10:50:43 +02:00
Stefan Dösinger
aa3a43f769
wined3d: Don't lock the dst volume in device_update_volume.
2013-08-23 19:26:43 +02:00
Henri Verbeet
b4d6f90f20
wined3d: Only update the stateblock's "changed" field if we're recording.
2013-08-23 10:41:36 +02:00
Henri Verbeet
6501f2e215
wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_texture_stage_state().
2013-08-22 10:26:49 +02:00
Henri Verbeet
9b721da9a5
wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_scissor_rect().
2013-08-22 10:26:46 +02:00
Henri Verbeet
7638e550b9
wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_material().
2013-08-22 10:26:42 +02:00
Henri Verbeet
a2e1a3d4f1
wined3d: Read from stateBlock instead of updateStateBlock in wined3d_device_get_stream_source_freq().
2013-08-21 12:13:56 +02:00
Henri Verbeet
7e7bd87b2c
wined3d: Store the original display mode in the swapchain.
2013-08-20 11:50:28 +02:00
Stefan Dösinger
a4f009d847
wined3d: Keep GL_UNPACK_CLIENT_STORAGE_APPLE off by default.
...
This is cleaner than the other way around and avoids side effects in
code that wasn't written with client storage in mind. Contrary to the
original intention, it also means fewer client storage toggle calls.
2013-08-19 18:07:45 +02:00
Henri Verbeet
37d1e8b79c
wined3d: Try to avoid redundant constant updates.
...
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Rico Schüller
55c190d396
wined3d: Fix typo.
2013-07-24 11:12:45 -05:00
Matteo Bruni
42cfbb825c
wined3d: Add a missing destroy_dummy_textures() call.
2013-07-24 11:09:39 -05:00
Henri Verbeet
ffc9f535eb
wined3d: Handle pre-transformed vertices in the GLSL vertex pipe.
...
This also avoids a fallback to drawStridedSlow().
2013-06-14 11:46:31 +02:00
Henri Verbeet
13a38e8d5e
wined3d: Pass a wined3d_resource_desc structure to device_parent_create_swapchain_surface().
2013-06-04 10:14:28 +02:00
Henri Verbeet
a3f59cf618
wined3d: Allow textures as swapchain surfaces.
2013-06-03 11:30:43 +02:00
Henri Verbeet
74c5a22daa
wined3d: Only invalidate the current ffp vertex shader if the light type changed.
...
As opposed to any time a light parameter changed.
2013-05-29 12:12:33 +02:00
Henri Verbeet
1c2392ddb0
wined3d: Only write gl_PointSize for point primitives in shader_glsl_generate_ffp_vertex_shader().
2013-05-29 12:12:32 +02:00
Stefan Dösinger
76941eff00
wined3d: Move gl_info->limits.max_texture_stages to d3d_info.
2013-04-25 20:25:10 +02:00
Stefan Dösinger
ac99d53991
wined3d: Move valid_rt_mask to wined3d_d3d_info.
2013-04-25 20:25:10 +02:00
Stefan Dösinger
cb01fb27b1
wined3d: Move max_ffp_textures to wined3d_d3d_info.
2013-04-25 20:25:09 +02:00
Stefan Dösinger
768e8c098c
wined3d: Move shader limits to wined3d_d3d_info.
2013-04-25 20:25:09 +02:00
Stefan Dösinger
16e862ba9d
wined3d: Add a new structure for d3d limits and other info.
2013-04-25 20:25:07 +02:00
Henri Verbeet
471991eb9a
wined3d: Introduce a wined3d_vertex_pipe_ops structure.
2013-04-25 13:39:56 +02:00
Stefan Dösinger
c371af0d5c
wined3d: Get rid of device->view_ident.
2013-04-24 18:26:56 +02:00
Henri Verbeet
c756496326
wined3d: Rename the device "strided_streams" field to "stream_info".
...
The "strided" in there is mostly historic, it hasn't really been accurate for
a while now.
2013-04-22 15:26:11 +02:00
Henri Verbeet
c0a84454c4
wined3d: Introduce a separate debug channel for performance warnings.
2013-04-17 11:36:22 +02:00
Sam Edwards
33d31a3547
wined3d: Properly handle backbuffer_width/_height=0 in wined3d_device_reset.
2013-04-11 12:06:49 +02:00
Stefan Dösinger
822bcfdf74
wined3d: Remove the unused idx_data parameter from draw_primitive.
2013-04-10 16:16:44 +02:00
Matteo Bruni
f6d2737e62
wined3d: Make the entire surface current after clearing a discarded depth buffer.
2013-04-10 15:46:49 +02:00
Matteo Bruni
a0c06a94aa
wined3d: Reset all the dummy textures to 0 on destroy.
2013-04-10 15:46:18 +02:00
Sam Edwards
6c43f90c50
wined3d: Ignore WS_VISIBLE and WS_EX_TOPMOST when dropping out of fullscreen.
2013-04-03 11:33:52 +02:00
Sam Edwards
6ab0ff5b9d
wined3d: Make fullscreen windows use HWND_TOPMOST instead of HWND_TOP.
2013-04-03 11:33:38 +02:00
Matteo Bruni
5e28b0c974
wined3d: Add RESZ support.
2013-02-19 10:39:47 +01:00
Michael Stefaniuc
50a9fb579c
wined3d: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
2013-02-06 09:04:41 +01:00
Francois Gouget
e7adf7fbf7
wined3d: Make device_stream_info_from_declaration() static.
2013-01-29 11:48:42 +01:00
Stefan Dösinger
1a3f741643
wined3d: Remove draw_primitive_strided.
2013-01-25 11:30:33 +01:00
Stefan Dösinger
149a85c2e7
d3d: Remove high level patch support.
...
No Windows driver ever exposed this, and no game uses this. The
only application that used this feature is a DirectX 8 SDK sample.
2013-01-25 11:29:41 +01:00
Stefan Dösinger
aaa11492db
wined3d: Ignore clears if count = 0 and rects != NULL.
2013-01-23 19:16:32 +01:00
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