Commit Graph

2545 Commits

Author SHA1 Message Date
Józef Kucia be20ddc38b wined3d: Introduce query operation to destroy queries.
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-05-30 11:03:55 +02:00
Józef Kucia dfa3be5c9d wined3d: Implement SO statistics queries.
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-05-25 20:47:47 +02:00
Józef Kucia 4597ef6696 wined3d: Avoid barrier() in tessellation control shader if possible.
Synchronization is only needed when output variables are read.

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-05-25 20:47:46 +02:00
Henri Verbeet cb77e188d1 wined3d: Validate constant buffer alignment.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:45 +02:00
Sven Hesse 4b376ba7d2 wined3d: Implement SM5 gather4_po_c opcode.
A combination of gather4_c and gather4_po.

Signed-off-by: Sven Hesse <drmccoy@drmccoy.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:28:58 +02:00
Józef Kucia 1ac5db4fc0 wined3d: Implement temporary registers per phase.
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-05-22 13:45:10 +02:00
Józef Kucia 5666bb8ffa wined3d: Fix wined3d_sysval_semantic values for tessellation factors.
Apparently, dcl_input_* instructions do not use the same values as
sysval semantics in shader signatures.

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-05-22 13:45:10 +02:00
Józef Kucia 90c6071d7d wined3d: Implement instancing for fork phases.
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-05-22 13:45:10 +02:00
Józef Kucia 007eb7d869 wined3d: Generate code for hull shaders.
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-05-22 13:45:09 +02:00
Henri Verbeet 22bdde479f wined3d: Introduce a separate CS queue for resource maps.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Józef Kucia c675bf4e82 wined3d: Add support for patch list primitive type.
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-05-19 14:01:35 +02:00
Józef Kucia 2b85e49e1b wined3d: Recognize hull shader phases.
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-05-19 14:01:30 +02:00
Józef Kucia b0d2cf8e3f wined3d: Handle dcl_output_control_point_count instruction.
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-05-17 16:08:56 +02:00
Józef Kucia ab27a5902d wined3d: Fill whole structure in find_ds_compile_args().
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-05-17 16:08:54 +02:00
Józef Kucia b45a0d4f15 wined3d: Generate code for domain shaders.
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-05-16 18:58:57 +02:00
Józef Kucia 7b01569e44 wined3d: Recognize SM5+ patch input primitive types.
In D3D11 geometry shaders accept patches as input primitives. This is
forbidden in OpenGL as specified in the ARB_tessellation_shaders spec:
  "we will not allow geometry shaders to receive patches in this
  extension. That limitation may be relaxed in a future extension."

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-05-15 20:49:22 +02:00
Sven Hesse a86fee5e20 wined3d: Implement SM4 continuec opcode.
Works just like breakc and retc.

Signed-off-by: Sven Hesse <drmccoy@drmccoy.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 11:34:58 +02:00
Józef Kucia f4a34acf17 wined3d: Implement clearing buffer unordered access views.
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-05-12 16:11:24 +02:00
Józef Kucia 487d2e0279 wined3d: Add support for patch constant signatures.
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-05-12 16:11:13 +02:00
Józef Kucia 6c5a90e193 wined3d: Add "parent_ops" for query objects.
In order to implement proper refcounting for
d3d11_immediate_context_SetPredication().

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-05-11 10:17:48 -05:00
Björn Bidar 5f0fd6c063 wined3d: Add NVIDIA GTX 1080 Ti to the GPU list.
Signed-off-by: Björn Bidar <theodorstormgrade@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-08 10:10:34 -05:00
Henri Verbeet 73170152dc wined3d: Allow the command stream thread to run asynchronously.
For a modest performance improvement in CPU-limited scenarios, especially ones
where a significant amount of time is spent in the graphics driver. There's
certainly still more room for improvement, resource maps in particular will
currently cause stalls.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Józef Kucia 8afc0e631c wined3d: Add parent for rasterizer state objects.
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-04-27 19:00:25 +02:00
Józef Kucia 5b0fe9cee5 wined3d: Add parent ops for sampler objects.
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-04-26 15:54:46 +02:00
Christopher Berner dad06728ce wined3d: Add Nvidia TitanX (Pascal).
Signed-off-by: Christopher Berner <christopherberner@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:16:43 +02:00
Henri Verbeet c09bb22c81 wined3d: Get rid of the "Multisampling" setting.
There should be no reason to set this anymore. Note that "SampleCount" can be
used to force a specific sample count.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:01:32 +02:00
Józef Kucia 1491151a37 wined3d: Recognize SM5 dcl_gsinstances opcode.
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-04-21 13:43:11 +02:00
Józef Kucia 86f9eab8e2 wined3d: Recognize SM5 vGSInstanceID register.
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-04-21 13:43:08 +02:00
Henri Verbeet 62ca4f3826 wined3d: Introduce context functions to map/unmap a wined3d_bo_address.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 10:53:53 +02:00
Henri Verbeet 49da36a501 wined3d: Introduce a context function to bind a buffer object.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:32 +02:00
Henri Verbeet b5d225e452 wined3d: Avoid unmapping the module while the CS thread is still running.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:25 +02:00
Józef Kucia a912c95d96 wined3d: Invalidate all layers locations for render target views.
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-04-19 09:10:58 +02:00
Józef Kucia 6920164824 wined3d: Validate all layers locations for render target views.
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-04-19 09:10:56 +02:00
Józef Kucia 481999ce44 wined3d: Prepare all layers for render target views.
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-04-19 09:10:54 +02:00
Józef Kucia 9ffacc434e wined3d: Load all layers for render target views.
For layered rendering to array textures.

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-04-19 09:10:52 +02:00
Józef Kucia 2fc56cac4c wined3d: Add shader_precompile() to shader_backend_ops.
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-04-13 13:05:21 +02:00
Henri Verbeet e97ed10d09 wined3d: Introduce a multi-threaded command stream implementation.
The primary purpose of this patch is to serialise draws from multiple threads,
without the overhead of extra flushes that "StrictDrawOrdering" imposes.
With additional work, offloading state processing and driver overhead to a
separate thread may also allow for improved performance in some applications,
but that's not a goal of this patch.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:05 +02:00
Henri Verbeet 972d9dae8b wined3d: Send flushes through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:03 +02:00
Henri Verbeet d6557e8129 wined3d: Send texture dirty region updates through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:27 +02:00
Józef Kucia 849b16b820 wined3d: Implement SM4 retc instruction.
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-04-11 19:45:23 +02:00
Józef Kucia 14dd2026f6 wined3d: Implement SM5 gather4_po instruction.
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-04-11 19:45:21 +02:00
Henri Verbeet c1ebab1a4b wined3d: Unify the 2D and 3D paths in wined3d_device_update_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:52 +02:00
Józef Kucia 706652025e wined3d: Differentiate between single layer and layered render target views.
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-04-10 22:00:42 +02:00
Józef Kucia e500cf7d97 wined3d: Attach render target texture views to FBO.
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-04-10 22:00:42 +02:00
Józef Kucia d394a6b728 wined3d: Create texture views for render target views.
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-04-10 22:00:42 +02:00
Józef Kucia 250f719749 wined3d: Eliminate holes in wined3d_shader_instruction structure.
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-04-07 18:05:48 +02:00
Józef Kucia a48d7a275d wined3d: Eliminate holes in wined3d_resource structure.
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-04-07 18:05:48 +02:00
Józef Kucia e72d21cc2e wined3d: Eliminate holes in wined3d_buffer structure.
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-04-07 18:05:48 +02:00
Józef Kucia f424a77375 wined3d: Add basic support for rendering to 3D textures.
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-04-06 12:43:23 +02:00
Józef Kucia 26b7baa0dd wined3d: Store render target info instead of surfaces in "blit_targets".
In preparation for extending render target views support.

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-04-06 12:43:19 +02:00