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
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