Commit Graph

139 Commits

Author SHA1 Message Date
Józef Kucia 8ac7c1faf2 wined3d: Allow passing compute states to device_invalidate_state().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:45:47 +01:00
Józef Kucia 1b400f7433 wined3d: Implement applying state for compute pipeline.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:45:43 +01:00
Józef Kucia 34af6f700e wined3d: Introduce wined3d_device_dispatch_compute().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:37 +01:00
Józef Kucia 401fb6e348 wined3d: Acquire graphics pipeline UAV resources for draws.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:51 +01:00
Józef Kucia 83dadaee02 wined3d: Do not acquire compute pipeline resources for draws.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:51 +01:00
Józef Kucia 12058f66cf wined3d: Factor out release_shader_resources() function.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:51 +01:00
Józef Kucia 900e6e1478 wined3d: Factor out acquire_shader_resources() function.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:50 +01:00
Henri Verbeet 7c5fd62efc wined3d: Get rid of the "onscreen_depth_stencil" field from struct wined3d_device.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:56:03 +01:00
Henri Verbeet 41738baea2 wined3d: Get rid of surface_modify_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:56:00 +01:00
Henri Verbeet 35e651caf1 wined3d: Get rid of the "ds_current_size" field from struct wined3d_surface.
This should be unused now that surface_load_ds_location() is gone.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:55:57 +01:00
Józef Kucia 794d59259b wined3d: Introduce wined3d_device_set_unordered_access_view().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-24 14:30:56 +01:00
Henri Verbeet 66e54fd682 wined3d: Send resource unmaps through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:27:26 +09:00
Henri Verbeet 9f85b5f867 wined3d: Send resource maps through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:27:24 +09:00
Henri Verbeet b2666a6316 wined3d: Send resource preloads through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:41 +09:00
Henri Verbeet af54f9b93a wined3d: Synchronise WINED3D_CS_OP_UNLOAD_RESOURCE resource access.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 12:08:42 +09:00
Henri Verbeet cac28d32fc wined3d: Evict managed resources through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:08:53 -05:00
Józef Kucia 8d032351f2 wined3d: Add WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH flag.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:17 -05:00
Henri Verbeet 7cda73e818 wined3d: Issue queries through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 20:17:52 +09:00
Józef Kucia 3861b4bb37 wined3d: Introduce rasterizer state object.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 21:38:05 +09:00
Henri Verbeet c4ccdb2484 wined3d: Synchronise WINED3D_CS_OP_DRAW resource access.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-10 22:26:34 +09:00
Henri Verbeet ff584b98a7 wined3d: Synchronise WINED3D_CS_OP_CLEAR resource access.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-10 22:26:32 +09:00
Henri Verbeet 3ef2bca823 wined3d: Synchronise WINED3D_CS_OP_PRESENT resource access.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-10 22:26:30 +09:00
Henri Verbeet 8a8b57ce3d wined3d: Send shader resource view destruction through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 00:58:55 +09:00
Henri Verbeet 4afc7470fb wined3d: Resolve "load_base_vertex_index" in wined3d_cs_exec_draw().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 00:58:55 +09:00
Henri Verbeet 9c1fbe5095 wined3d: Include the base vertex index in WINED3D_CS_OP_DRAW.
Ideally we'd just remove the base vertex index from the wined3d_state
structure, but it's included in d3d8 stateblocks.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 00:58:55 +09:00
Józef Kucia 42fcf20221 wined3d: Implement index buffer offset.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 00:10:49 +09:00
Henri Verbeet 8ae3a9b624 wined3d: Introduce a helper function to allocate arrays.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Henri Verbeet 10e601ba3c wined3d: Properly cleanup on failure in wined3d_cs_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:18:58 +09:00
Henri Verbeet aa666adfed wined3d: Send shader constant updates through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:41 +09:00
Henri Verbeet 25b907697a wined3d: Only allow 224 pixel shader vec4's.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:12 +09:00
Henri Verbeet 4896cda6c5 wined3d: Track SFLAG_DISCARD per-texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:32 +09:00
Stefan Dösinger a3401dfaf2 wined3d: Explicitly pass a wined3d_state structure to draw_primitive().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:13:47 +09:00
Stefan Dösinger 08158f7e12 wined3d: Avoid storing rectangle pointers in struct wined3d_cs_present.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:32 +09:00
Stefan Dösinger 7d65065ecb wined3d: Avoid storing color and rectangle pointers in struct wined3d_cs_clear.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:43:40 +09:00
Matteo Bruni 0ed39ad13d wined3d: Use ARB_texture_swizzle for color fixups when possible.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 22:09:37 +09:00
Stefan Dösinger 74c38385ba wined3d: Avoid storing a viewport pointer in struct wined3d_cs_set_viewport.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 11:51:06 +09:00
Stefan Dösinger 8d8b4d9c66 wined3d: Avoid storing a rectangle pointer in struct wined3d_cs_set_scissor_rect.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-23 11:28:54 +09:00
Stefan Dösinger 1422add1df wined3d: Avoid storing a transformation matrix pointer in struct wined3d_cs_set_transform.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 12:19:49 +09:00
Stefan Dösinger 11fe733fdc wined3d: Avoid storing a clip plane pointer in struct wined3d_cs_set_clip_plane.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 00:36:27 +09:00
Stefan Dösinger cecc496ecf wined3d: Avoid storing a material pointer in struct wined3d_cs_set_material.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 12:21:01 +09:00
Henri Verbeet 240912c59b wined3d: Ignore the dirty region for swapchain presents more explicitly.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 12:20:49 +09:00
Riccardo Bortolato bb70c73205 wined3d: Call wined3d_texture_decref() instead of wined3d_surface_decref() in wined3d_cs_exec_set_depth_stencil_view().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 14:45:42 +09:00
Stefan Dösinger 40c5303b62 ddraw: Return the right error if range color keys are used. 2015-08-24 20:42:40 +09:00
Stefan Dösinger 34d8b987c4 wined3d: Try to detect the polygon offset scale value.
FEAR draws the same geometry twice, the second time using zfunc=equal.
In both cases it sets a huge depth bias of -0.5, presumably to get
better precision for the fragile Z comparison. The GL polygon offset we
set ends up being so large that it pulls the geometry into the negative
Z range. It isn't clipped (or no longer, older NV drivers probably had a
separate bug there), but the Z value gets clamped to 0.0 in the first
draw and doesn't match the incoming Z in the second draw.
2015-07-30 23:50:57 +02:00
Józef Kucia 1f680c52fe wined3d: Implement vertex blending in glsl_vertex_pipe. 2015-07-03 16:51:34 +09:00
Stefan Dösinger 9076612e2d wined3d: Shadow format flags in the resource. 2015-04-22 23:24:41 +09:00
Stefan Dösinger 483d9550c4 wined3d: Use finer grained colorkey state invalidation. 2015-04-15 22:21:58 +09:00
Stefan Dösinger 382fa588a9 wined3d: Handle color key dirtification in wined3d_cs_exec_set_texture. 2015-04-15 22:21:57 +09:00
Stefan Dösinger 5d51c97d07 wined3d: Implement color keying in the glsl fragment pipeline. 2015-04-10 21:43:31 +09:00
Stefan Dösinger 82db5954c4 wined3d: Set color keys through the command stream. 2015-04-10 21:42:41 +09:00
Henri Verbeet 2e5abc156a wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend. 2015-01-19 14:31:32 +01:00
Matteo Bruni 2dd237e200 wined3d: Dirtify pixel shader on texture format change. 2014-11-04 21:15:57 +09:00
Henri Verbeet fdf60e51fc d3d10core: Implement d3d10_device_SetPredication(). 2014-09-19 10:49:11 +02:00
Henri Verbeet 1e434b52d0 d3d10core: Implement d3d10_device_VSSetShaderResources(). 2014-09-16 12:24:59 +02:00
Henri Verbeet 07985a8c38 wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +02:00
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet 80bca9bc9c wined3d: Add constant buffer support to the GLSL shader backend. 2014-08-04 14:23:29 +02:00
Matteo Bruni 9c5c3a81ce wined3d: Free CS data on CS destruction. 2014-03-05 19:18:26 +01:00
Stefan Dösinger b81e560531 wined3d: Migrate surfaces to the new location flags. 2014-01-17 18:10:10 +01:00
Henri Verbeet 4d93adf75e wined3d: Reset the command stream state as well in wined3d_device_reset(). 2014-01-09 15:50:25 +01:00
Henri Verbeet 1419d7389c wined3d: Send stream output binding updates through the command stream. 2013-10-11 11:06:20 +02:00
Henri Verbeet f699b6da0b wined3d: Send sampler binding updates through the command stream. 2013-10-11 11:06:18 +02:00
Henri Verbeet 738de80d0c wined3d: Send constant buffer binding updates through the command stream. 2013-10-11 11:06:15 +02:00
Henri Verbeet c228ffbaf0 wined3d: Unify shader binding points. 2013-10-10 10:44:53 +02:00
Henri Verbeet 079b6d4c11 wined3d: Unify the shader state IDs. 2013-10-09 11:11:07 +02:00
Henri Verbeet 1f22246b84 wined3d: Send material updates through the command stream. 2013-10-09 11:11:00 +02:00
Henri Verbeet db68c43678 wined3d: Send clip plane updates through the command stream. 2013-10-09 11:10:58 +02:00
Henri Verbeet c6f8404bb6 wined3d: Send transformation matrix updates through the command stream. 2013-10-08 09:09:01 +02:00
Henri Verbeet b2e75e27f3 wined3d: Send sampler state updates through the command stream. 2013-10-08 09:08:59 +02:00
Henri Verbeet 8cf6d1a429 wined3d: Send texture state updates through the command stream. 2013-10-08 09:08:56 +02:00
Henri Verbeet 3f6d45bf14 wined3d: Send render state updates through the command stream. 2013-10-07 14:44:35 +02:00
Henri Verbeet 82cf8b2066 wined3d: Send pixel shader binding updates through the command stream. 2013-10-04 12:45:22 +02:00
Henri Verbeet 819e9dda28 wined3d: Send geometry shader binding updates through the command stream. 2013-10-04 12:45:21 +02:00
Henri Verbeet 368fcab2e8 wined3d: Send vertex shader binding updates through the command stream. 2013-10-04 12:45:18 +02:00
Francois Gouget b0ccc355c3 wined3d: Fix compilation on systems that don't define INFINITY or NAN. 2013-10-03 16:32:38 +02:00
Henri Verbeet 052a863010 wined3d: Send texture binding updates through the command stream. 2013-10-03 12:55:09 +02:00
Henri Verbeet d61b14371a wined3d: Send index buffer binding updates through the command stream. 2013-10-03 12:55:04 +02:00
Henri Verbeet 264256970b wined3d: Send stream frequency updates through the command stream. 2013-10-03 12:54:59 +02:00
Sebastian Lackner af759e30c9 wined3d: Ensure that wined3d_cs_st_require_space allocates the required space. 2013-10-02 17:13:42 +02:00
Henri Verbeet 57ec706dde wined3d: Send vertex buffer binding updates through the command stream. 2013-10-02 11:05:41 +02:00
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