Commit Graph

8570 Commits

Author SHA1 Message Date
Sebastian Lackner 9b00f0182b wined3d: Fix double free in geometry_shader_init.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 18:58:43 +02:00
Sebastian Lackner 20adccf866 wined3d: Release resources on error in wined3d_cs_exec_blt_sub_resource.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 18:58:43 +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 da321cebf7 wined3d: Use wined3d_texture_get_memory() in surface_cpu_blt_colour_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:30 +02:00
Henri Verbeet ee17d7ba1b wined3d: Use wined3d_texture_get_memory() in surface_cpu_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:28 +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
Henri Verbeet b7140a212d wined3d: Use the CPU blitter for clearing textures that are current in the map binding.
In order to avoid bouncing them between the CPU and GPU. This fixes a
regression instroduced by commit 381cd03eb3.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:22 +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 95a936d8c2 wined3d: Prefer GLSL 1.50 for all 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-04-19 09:10:50 +02:00
Józef Kucia 66fce9898a wined3d: Precompile compute 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-04-13 13:05:23 +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
Józef Kucia 142a42c0c6 wined3d: Generate vertex shader specific declarations in shader_glsl_generate_vshader().
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:19 +02:00
Józef Kucia 59d9aa9fe9 wined3d: Generate geometry shader specific declarations in shader_glsl_generate_geometry_shader().
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:17 +02:00
Józef Kucia c155d07af5 wined3d: Generate pixel shader specific declarations in shader_glsl_generate_pshader().
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:14 +02:00
Henri Verbeet 5a9a2b4cce wined3d: Use wined3d_texture_get_memory() in surface_convert_format().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:14 +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 b7146d81f2 wined3d: Do not add wined3d internal resources to the device resource list.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:01 +02:00
Henri Verbeet ecbc1cb623 wined3d: Use the "arbfp" blitter for P8 and YUV blits.
This fixes a regression introduced by commit
cad4badbcf. In particular, before that commit,
surface_load_drawable() would always use the device blitter, without checking
whether that blitter claims to support the blit in question. As it turns out,
the FBO blitter claims to support them, and the arbfp blitter claims not to
support them.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:08:57 +02:00
Józef Kucia f5de978a9c wined3d: Avoid using deprecated gl_ClipVertex.
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-12 19:03:33 +02:00
Józef Kucia 451f583585 wined3d: Avoid using deprecated built-in shader inputs/outputs.
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-12 19:03:31 +02:00
Józef Kucia a830d7808f wined3d: Use GLSL 1.30 for all shaders if available.
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-12 19:03:29 +02:00
Józef Kucia 9ddc01e0c1 wined3d: Explicitly bind frag data location for fragment shader outputs.
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-12 19:03:27 +02:00
Józef Kucia f9f75d251a wined3d: Use ARB_explicit_attrib_location for fragment shader outputs.
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-12 19:03:25 +02:00
Henri Verbeet c70486c53f wined3d: Avoid updating the swapchain swap interval from outside the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:34 +02:00
Henri Verbeet 1b034f7fdb wined3d: The source texture is always non-NULL in surface_cpu_blt().
Since fills no longer go through the blitter.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:32 +02:00
Henri Verbeet 3e36857557 wined3d: The destination width and height are always valid in surface_cpu_blt().
Since they have been validated by the caller.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:29 +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
Henri Verbeet 6302d5edf8 wined3d: Avoid modifying the device's shader list outside the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:23 +02:00
Józef Kucia 08b8c5b207 wined3d: Fix atomics for raw thread group shared memory.
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:25 +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
Józef Kucia 739ac1c264 wined3d: Support SM5 variant of gather4.
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:19 +02:00
Józef Kucia 6fec723c9d wined3d: Implement SM5 gather4_c 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:17 +02:00
Józef Kucia 2fad01e59d wined3d: Implement SM4.1 gather4 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:15 +02:00
Józef Kucia ec5cb71bd9 wined3d: Add ARB_texture_gather 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-04-11 19:45:13 +02:00
Henri Verbeet 6a307598b1 wined3d: Invalidate sub-levels in wined3d_texture_add_dirty_region().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:59:01 +02:00
Henri Verbeet 2310378042 wined3d: Require a valid source rectangle in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:58 +02:00
Henri Verbeet f243302ed5 wined3d: Require a valid destination point in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:56 +02:00
Henri Verbeet 4c8b3e0d19 wined3d: Implement wined3d_device_update_texture() on top of wined3d_cs_emit_blt_sub_resource().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:54 +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 73d57ce7a9 wined3d: Change GL internal format for R32_TYPELESS.
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 9e1d7a0fc3 wined3d: Reuse view validation function 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 291146b147 wined3d: Allow copying 3D texture resources.
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:41 +02:00
Józef Kucia f8e05f5f05 wined3d: Use register mask for SV_IsFrontFace pixel shader inputs.
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:41 +02:00
Henri Verbeet 97fee99cb4 wined3d: Merge wined3d_device_update_texture_3d() into wined3d_device_update_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 21:51:39 +02:00
Henri Verbeet d59a64d55f wined3d: Use wined3d_texture_get_memory() in wined3d_device_update_texture_3d().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 21:51:39 +02:00
Henri Verbeet 114114f137 wined3d: Validate that the source and destination dimensions match in wined3d_device_update_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 21:51:38 +02:00
Matteo Bruni 28bd66dabb wined3d: Split line antialiasing to a separate state handler.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 09:51:28 +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 84e7a04be2 wined3d: Simply use view size as drawable size for resources other than 2d 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-07 18:05:48 +02:00
Józef Kucia a727b74264 wined3d: Use wined3d_texture_get_texture_name() helper in more places.
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
Henri Verbeet 986e3eebce wined3d: Implement partial support for 3D texture blits.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:40 +02:00
Henri Verbeet 26d7f99125 wined3d: Assume identical source and destination formats in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:38 +02:00
Henri Verbeet c2c1ffe416 wined3d: Handle formats with conversions outside surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:30 +02:00
Henri Verbeet df6120274d wined3d: Introduce a helper function to assign wined3d_box values.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:28 +02:00
Henri Verbeet cefd06380c wined3d: Source resources are always non-NULL in wined3d_cs_exec_blt_sub_resource().
Since fills no longer go through the blitter.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:25 +02:00
Henri Verbeet ecf1bbd525 wined3d: Get rid of surface_get_rect().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:26 +02:00
Józef Kucia acb480e7e4 wined3d: Support SV_RenderTargetArrayIndex semantic for pixel shader inputs.
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:33 +02:00
Andrew Wesie e5d3908ffa wined3d: Support render target array index semantic value.
Signed-off-by: Andrew Wesie <awesie@gmail.com>
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:29 +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
Józef Kucia 90bf175f4d wined3d: Add support for cube shadow samplers.
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:15 +02:00
Józef Kucia 18e5bbe6f0 wined3d: Store stream index in shader signature elements.
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:03 +02:00
Józef Kucia 1d27b69f32 wined3d: Simplify logic in wined3d_event_query_issue().
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-05 19:10:48 +02:00
Józef Kucia 8b9ece6797 wined3d: Introduce context_reacquire() helper 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-04-05 19:10:46 +02:00
Józef Kucia c6168a526e wined3d: Avoid accessing "context->current_rt" in wined3d_rendertarget_view_get_drawable_size().
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-05 19:10:44 +02:00
Henri Verbeet 3e3f5e88e6 wined3d: Send rendertarget view clears through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:17:28 +02:00
Józef Kucia dfce576bd9 wined3d: Implement SM5 ibfe 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-04 14:54:58 +02:00
Józef Kucia 132b3d4dce wined3d: Recognize SM5 ibfe 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-04 14:54:56 +02:00
Henri Verbeet b98ece0d38 wined3d: Use the blitter interface in wined3d_cs_exec_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:30 +02:00
Henri Verbeet 52979b6b29 wined3d: Pass the draw rectangle to wined3d_blitter_ops.blitter_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:28 +02:00
Henri Verbeet d8f9b6b7f7 wined3d: Pass a wined3d_fb_state structure to wined3d_blitter_ops.blitter_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:26 +02:00
Henri Verbeet ce5b25b8bc wined3d: Reduce indentation in the colour blit case in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:23 +02:00
Henri Verbeet cad4badbcf wined3d: Get rid of wined3d_select_blitter().
Instead, chain the blitters themselves. This also fixes the issue that
currently only a single blitter can store extra data in the "blit_priv" field
of struct wined3d_device.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:21 +02:00
Henri Verbeet f2459e5527 wined3d: Implement cpu_blit_blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:05 +02:00
Henri Verbeet 5e40695310 wined3d: Use resource.map_binding as destination location for blits to WINED3D_POOL_SYSTEM_MEM textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Henri Verbeet 03e85bf991 wined3d: Merge wined3d_blitter_ops.color_fill() and wined3d_blitter_ops.depth_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Henri Verbeet 8c98be4791 wined3d: Allow all formats with "glInternal" set in CheckSurfaceCapability().
Rendertarget, depth/stencil and texturing restrictions are applied later in
wined3d_check_device_format(), so to the extent this make a difference it
mostly affects off-screen plain surfaces. Note that if the blitter check were
to be implemented properly it would practically always return TRUE as well,
because of the CPU based blitter.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Henri Verbeet 49f2a1ab2f wined3d: Ignore the blitter's depth/colour fill return value in wined3d_device_clear_rendertarget_view().
Direct3D 10 and later don't have a return value, earlier versions seem to
claim success even if the fill/clear is unsupported.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Józef Kucia 6f5a2f5847 wined3d: Fix transform feedback primitive mode.
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-03-31 15:53:10 +02:00
Józef Kucia a0ed4bdb1f wined3d: Support simple stream output descriptions when ARB_TRANSFORM_FEEDBACK3 is not available.
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-03-31 15:53:06 +02:00
Henri Verbeet a80f9a867f wined3d: Use the blitter interface in swapchain_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:31 +02:00
Henri Verbeet 4b4091fa62 wined3d: Make the FBO blitter a proper blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:29 +02:00
Henri Verbeet 54273be200 wined3d: Get rid of the unused "priv" argument to arbfp_gen_plain_shader().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:26 +02:00
Henri Verbeet 22c19e855f wined3d: Get rid of the unused "priv" parameter to gen_yuv_shader().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:24 +02:00
Henri Verbeet a61ee2b499 wined3d: Get rid of the unused "priv" parameter to gen_p8_shader().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:22 +02:00
Józef Kucia ac793e5503 wined3d: Resume transform feedback after geometry shader switch.
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-03-30 22:06:32 +02:00
Józef Kucia 3ca84a348e wined3d: Pause transform feedback between draw calls.
In order to avoid recording vertices generated by other operations, e.g.
blits.

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-03-30 22:06:31 +02:00
Józef Kucia 591b17838e wined3d: Add support for rasterizer discard.
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-03-30 22:06:31 +02:00
Józef Kucia 2e3300fa59 wined3d: Enable transform feedback if geometry shader with stream output is active.
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-03-30 22:06:31 +02:00
Henri Verbeet 493502b54b wined3d: Pass a wined3d_rendertarget_view to surface_cpu_blt_colour_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:02:04 +02:00
Henri Verbeet e19e15d317 wined3d: Remove WINED3D_BLT_DEPTH_FILL support from wined3d_texture_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:02:02 +02:00
Henri Verbeet aec8015c3b wined3d: Remove WINED3D_BLT_COLOR_FILL support from wined3d_texture_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:01:59 +02:00
Henri Verbeet cd4223b0a4 wined3d: Only drop WINED3D_MAP_DISCARD right before mapping the buffer object in wined3d_buffer_map().
Dropping WINED3D_MAP_DISCARD too early means we go through the system memory
path unnecessarily. Worse, as mentioned in an earlier comment, Darkstar One
depends on the entire buffer being uploaded in case of WINED3D_MAP_DISCARD
maps, and dropping the flag too early prevents that as well. This fixes a
regression introduced by commit 15d53761a5.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:01:47 +02:00
Józef Kucia 96570c5216 wined3d: Bind transform feedback buffers.
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-03-29 20:54:05 +02:00
Józef Kucia eb77e320d5 wined3d: Acquire stream output buffers for draw calls.
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-03-29 20:54:03 +02:00
Józef Kucia d58e44bfeb wined3d: Exit early in shader_glsl_init_transform_feedback() if stream output is disabled.
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-03-29 20:54:01 +02:00
Henri Verbeet 01cea136d6 wined3d: Validate the rectangle in wined3d_device_clear_rendertarget_view().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 08:46:33 +02:00
Henri Verbeet 4bb1565a54 wined3d: Introduce a separate function for doing colour fills in the CPU blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 08:46:30 +02:00
Henri Verbeet b44b2c2dce wined3d: Just print a message if loading the logo bitmap failed.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 08:46:27 +02:00
Henri Verbeet 74492d7857 wined3d: Recreate the logo texture if needed in wined3d_device_reset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 08:46:25 +02:00
Henri Verbeet b5da9ea382 wined3d: Create the logo texture with WINED3D_TEXTURE_CREATE_GET_DC.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 08:46:22 +02:00
Józef Kucia 71eb01cfff wined3d: Consider buffer strides when generating transform feedback varyings.
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-03-28 22:11:33 +02:00
Józef Kucia 16ab203342 wined3d: Specify geometry shader outputs to record in stream output buffers.
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-03-28 22:11:33 +02:00
Józef Kucia d50745b7ae wined3d: Add ARB_transform_feedback3 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-03-28 22:11:33 +02:00
Józef Kucia e9bc775c24 wined3d: Add ARB_transform_feedback2 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-03-28 22:11:32 +02:00
Henri Verbeet 0a1a6533b5 wined3d: Use WINED3D_BLT_SRC_CKEY to present the logo texture.
WINED3D_BLT_ALPHA_TEST makes no sense, since the texture doesn't have an alpha
channel.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:58:03 +02:00
Henri Verbeet a6862f9170 wined3d: Rename struct blit_shader to struct wined3d_blitter_ops.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:58:01 +02:00
Henri Verbeet df6b402026 wined3d: Get rid of blit_shader.set_shader() and blit_shader.unset_shader().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:57:59 +02:00
Henri Verbeet 34d43fcbdd wined3d: Get rid of the redundant context_acquire() call in swapchain_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:57:57 +02:00
Henri Verbeet 928110e512 wined3d: Use blit_shader.blit_surface() in swapchain_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:57:55 +02:00
Józef Kucia 16e22c8a6b wined3d: Allow creating shader resource views for cube map and rectangle 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-03-27 10:57:06 +02:00
Józef Kucia 99e9ce3e3e wined3d: Do not compute color/NP2 fixup PS compile arguments for SM4+.
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-03-27 10:57:02 +02:00
Francois Gouget 2620a78fb0 wined3d: Fix a trailing new-line in an ERR() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 20:51:12 +01:00
Henri Verbeet dbd8c89ea8 wined3d: Pass the destination location to blit_shader.blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:08:00 +01:00
Henri Verbeet 012f9b03f8 wined3d: Use draw_textured_quad() in swapchain_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:08:00 +01:00
Henri Verbeet 4f027e627e wined3d: Properly handle back-buffers in context_get_rt_size().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:59 +01:00
Henri Verbeet bedb40e5af wined3d: Properly handle back-buffers in surface_translate_drawable_coords().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:59 +01:00
Henri Verbeet 067f323844 wined3d: Do not return GL_COLOR_ATTACHMENT0 for the back-buffer in wined3d_texture_get_gl_buffer().
This should no longer be needed.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:59 +01:00
Józef Kucia 5bf5655bfd wined3d: Introduce wined3d_stream_output_desc.
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-03-23 15:14:33 +01:00
Józef Kucia 1a1b3fd3bc wined3d: Generate geometry shader outputs when NULL pixel shader is used.
In preparation for stream output.

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-03-23 15:14:29 +01:00
Józef Kucia 3d459c6152 wined3d: Handle stream output buffer bind 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>
2017-03-23 15:14:26 +01:00
Józef Kucia 4a8a7a09f6 wined3d: Load core GL transform feedback functions.
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-03-23 15:14:24 +01:00
Matteo Bruni 398cc3aebe wined3d: Get rid of the point sprite coordinate origin warning.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 15:14:13 +01:00
Józef Kucia 56ce1d3dec wined3d: Do not generate FFP fragment shader when SM4 vertex shader is active.
We should not ever generate fixed-function replacement shaders in
D3D10+. It is perfectly valid to draw with NULL pixel shader, e.g. for
stream output.

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-03-22 15:34:13 +01:00
Henri Verbeet 0d0f3c940f wined3d: Check for GL_FRONT before GL_BACK in wined3d_texture_get_gl_buffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:04 +01:00
Henri Verbeet 5ab99b1643 wined3d: Merge surface_blt_to_drawable() into surface_load_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:04 +01:00
Henri Verbeet cbede20ae8 wined3d: Use blit_shader.blit_surface() in surface_blt_to_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:01 +01:00
Henri Verbeet 8c9990157d wined3d: Get rid of the (now) redundant "alpha_test" parameter to surface_blt_to_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:51:48 +01:00
Henri Verbeet 07a6637d7e wined3d: Inline surface_blt_to_drawable() into ffp_blit_blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:51:46 +01:00
Józef Kucia 2c7381e329 wined3d: Remove irrelevant comment.
The transform_texture() function calls context_active_texture().

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-03-20 19:21:24 +01:00
Józef Kucia de0a88538c wined3d: Abort state application when there is problem with newly created sampler 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>
2017-03-20 19:21:23 +01:00
Józef Kucia ec1da699d9 wined3d: Make wined3d samplers responsible for setting texture base level.
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-03-20 19:21:21 +01:00
Józef Kucia 591a3b1be8 wined3d: Use wined3d samplers unconditionally for applying legacy sampler states.
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-03-20 19:21:18 +01:00
Józef Kucia 584ec259b2 wined3d: Introduce wined3d_sampler_bind() helper 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-03-20 19:21:16 +01:00
Józef Kucia f82a437a90 wined3d: Create wined3d sampler for NULL sampler.
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-03-20 19:21:14 +01:00
Józef Kucia a7dadf2f95 wined3d: Create wined3d sampler for default sampler.
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-03-20 19:21:12 +01:00
Józef Kucia 993bcc3e13 wined3d: Make wined3d samplers usable when ARB_sampler_objects is not available.
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-03-20 19:21:08 +01:00
Henri Verbeet d85d977a35 wined3d: Modify resource locations in wined3d_surface_blt() instead of the blitters.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:38 +01:00
Henri Verbeet d5527c2d1c wined3d: Only copy source/destination rectangles when needed in arbfp_blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:36 +01:00
Henri Verbeet 717225bf9b wined3d: Pass a context to blit_shader.blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:34 +01:00
Henri Verbeet ad46b67674 wined3d: Create and destroy surface DCs through the CS.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:25 +01:00
Henri Verbeet d9d5dcee2b wined3d: Avoid device_invalidate_state() in wined3d_texture_set_lod().
It's not safe to call device_invalidate_state() outside the CS.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:22 +01:00
Józef Kucia c191c2a09d wined3d: Fix off-by-one error in wined3d_gl_limits_get_texture_unit_range().
Spotted by Matteo Bruni.

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-03-16 15:03:10 +01:00
Huw Davies 7b32c8ab3e wined3d: Zero-initialize count.
This prevents the loop below accessing beyond multisample_types
if the GL_NUM_SAMPLE_COUNTS call fails.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-16 15:03:05 +01:00
Józef Kucia 8ca5577ed1 wined3d: Recompute sampler count before allocating sampler range for compute 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-03-15 17:33:00 +01:00
Józef Kucia 09fa9fbcf1 wined3d: Store GL sampler limits as array.
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-03-15 17:32:58 +01:00
Józef Kucia 470767ef4a wined3d: Get rid of redundant WARN() from context_load_shader_resources().
The context_bind_shader_resources() function prints the same warning
message.

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-03-15 17:32:54 +01:00
Józef Kucia 57757a3bd9 wined3d: Use context_get_tex_unit_mapping() in context_bind_shader_resources().
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-03-15 17:32:42 +01:00
Józef Kucia 2ac254a0ff wined3d: Add support for samplers in geometry 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-03-14 17:14:41 +01:00
Józef Kucia 761d59f9c0 wined3d: Use layout qualifiers to bind GLSL samplers.
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-03-14 17:14:40 +01:00
Józef Kucia 12edaf9ad0 wined3d: Introduce context_get_tex_unit_mapping() helper 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-03-14 17:14:38 +01:00
Józef Kucia 1865352e3f wined3d: Allow using more than MAX_COMBINED_SAMPLERS texture image units.
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-03-14 17:14:36 +01:00
Józef Kucia ea6c61a534 wined3d: Do not use texture unit mapping for SM4+ 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-03-14 17:14:34 +01:00
Józef Kucia 9d3b2958ca wined3d: Use layout qualifiers to bind GLSL uniform blocks.
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-03-14 17:14:32 +01:00
Józef Kucia 3567544ade wined3d: Use layout qualifiers to bind GLSL images.
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-03-14 17:14:30 +01:00
Matteo Bruni 630ba97900 wined3d: Fix the TRACE in wined3d_texture_remove_buffer_object().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 17:14:13 +01:00
Bruno Jesus 992dcc4db5 wined3d: Recognize GeForce 940M.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 17:14:01 +01:00
Józef Kucia 23d28c451b wined3d: Introduce shader_glsl_load_program_resources() helper 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-03-13 19:28:45 +01:00
Józef Kucia d89ee7aaaa wined3d: Move legacy texture image unit range allocation to wined3d_gl_limits_get_texture_unit_range().
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-03-13 19:28:43 +01:00
Józef Kucia 806479e432 wined3d: Get rid of incorrect usage of "tex_unit_map".
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-03-13 19:28:41 +01:00
Józef Kucia f2af535c05 wined3d: Simplify computation of "num_textures_used" in ATI fragment 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-03-13 19:28:39 +01:00
Józef Kucia a0f2b5b932 wined3d: Recognize SM4 dcl_index_range 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-03-10 23:21:25 +01:00
Józef Kucia 2059beda57 wined3d: Implement SM4 umul 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-03-10 23:21:24 +01:00
Józef Kucia 5f4e49dea6 wined3d: Recognize SM4 umul 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-03-10 23:21:24 +01:00
Matteo Bruni 72deec5295 wined3d: Use the MAX_TEXTURES define in a few more places.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:24 +01:00
Matteo Bruni 09483c6801 wined3d: Don't advertise unsupported shader versions.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:24 +01:00
Henri Verbeet 11fb78d9bd wined3d: Don't read modifiers for opcodes with "read_opcode_func" set (AFL).
Otherwise "len" would be inconsistent with "p". This assumes opcodes with
"read_opcode_func" either don't have modifiers or handle them themselves.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 11:05:14 +01:00
Henri Verbeet a9e5a02a20 wined3d: Validate instruction lengths in shader_sm4_read_instruction() (AFL).
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 11:05:12 +01:00
Józef Kucia c7f3308db7 wined3d: Add support for seamless cube map filtering.
Seamless cube map filtering should always be enabled in D3D10+.

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-03-08 16:37:35 +01:00
Józef Kucia 9cb650a3b8 wined3d: Avoid FIXME() message for unhandled cube map arrays.
There are no GLSL functions with the type part for cube map 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-03-08 16:37:31 +01:00
Józef Kucia 646cb95942 wined3d: Create dummy cube 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-03-08 16:37:29 +01:00
Józef Kucia f8723d096a wined3d: Add FIXME() messages for unhandled shader bytecode UAV flags.
The new definition of WINED3D_SM5_UAV_FLAGS_MASK doesn't overlap with
WINED3D_SM4_RESOURCE_TYPE_MASK.

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-03-08 16:37:27 +01:00
Józef Kucia c4d4959e1c wined3d: Fix parsing of SM5 "_opc" 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>
2017-03-08 16:37:25 +01:00
Henri Verbeet dfe8b7798a wined3d: Abort on invalid instructions in shader_get_registers_used().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:30:35 +01:00
Henri Verbeet df6540edf0 wined3d: Abort on invalid instructions in shader_generate_main().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:30:33 +01:00
Henri Verbeet 0cdae56864 wined3d: Send resource copy calls through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:30:30 +01:00
Henri Verbeet 95abd3c924 wined3d: Send sub-resource copy calls through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:30:29 +01:00
Henri Verbeet 87192548ed wined3d: Send blits through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:30:27 +01:00
Józef Kucia d4443bdc29 wined3d: Make sure that "tgsm_count" is not decreased while adding TGSM declarations.
Suggested by Sebastian Lackner.

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-03-07 16:33:40 +01:00
Józef Kucia 287c185173 wined3d: Introduce wined3d_device_get_sampler() helper 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-03-07 16:33:40 +01:00
Józef Kucia 3b42d47164 wined3d: Introduce wined3d_device_get_shader_resource_view() helper 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-03-07 16:33:40 +01:00
Józef Kucia 9265d55151 wined3d: Introduce wined3d_device_get_constant_buffer() helper 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-03-07 16:33:40 +01:00
Józef Kucia 5faccd82ba wined3d: Introduce wined3d_device_get_cs_sampler().
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-03-07 16:33:40 +01:00
Józef Kucia e093774c2a wined3d: Introduce wined3d_device_get_cs_resource_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>
2017-03-07 16:33:39 +01:00
Józef Kucia e527b1035a wined3d: Introduce wined3d_device_get_cs_cb().
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-03-07 16:33:39 +01:00
Józef Kucia 76a4efe1ed wined3d: Introduce wined3d_device_get_compute_shader().
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-03-07 16:33:39 +01:00
Henri Verbeet 54c3f5c0bc wined3d: Validate blit parameters in wined3d_texture_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 09:00:54 +01:00
Henri Verbeet aaa431d8a8 wined3d: Use wined3d_texture_blt() in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 09:00:52 +01:00
Józef Kucia 097e8355c6 wined3d: Implement SM5 bufinfo 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-03-06 19:49:16 +01:00
Józef Kucia a19e6265d7 wined3d: Bind unordered access views even if they are not used by current shaders.
An alternative would be to invalidate unordered access view bindings
when a shader is set.

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-03-06 19:49:16 +01:00
Henri Verbeet c51537ba9f wined3d: Merge wined3d_texture_check_block_align() into wined3d_texture_check_box_dimensions().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:44:03 +01:00
Henri Verbeet d118788917 wined3d: Check rectangle alignment in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:44:01 +01:00
Henri Verbeet fbff59ae4a wined3d: Send sub-resource update calls through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:43:59 +01:00
Henri Verbeet 2338060142 wined3d: Explicitly pass d3d_info and gl_info to context_stream_info_from_declaration().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:43:50 +01:00
Henri Verbeet 8bdbbf4fcf wined3d: Map buffers in wined3d_device_process_vertices().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:43:48 +01:00
Józef Kucia 6256956a41 wined3d: Implement UAV counters.
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-03-03 13:23:56 +01:00
Józef Kucia 35de12fcd5 wined3d: Implement SM5 imm_atomic_consume 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-03-03 13:23:54 +01:00
Józef Kucia 87ef57aff1 wined3d: Implement SM5 imm_atomic_alloc 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-03-03 13:23:52 +01:00
Józef Kucia c565541685 wined3d: Add ARB_shader_atomic_counters 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-03-03 13:23:50 +01:00
Józef Kucia 7da88d0066 wined3d: Add FIXME() for unhandled UAV flags.
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-03-03 13:23:48 +01:00
Józef Kucia 9b1748b05f wined3d: Add support for atomic min/max operations on thread group shared memory.
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-03-03 13:23:46 +01:00
Guillaume Charifi 0046056527 wined3d: Recognize SM5 vJoinInstanceId register.
Signed-off-by: Guillaume Charifi <guillaume.charifi@sfr.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 13:23:43 +01:00
Guillaume Charifi 7002ab5011 wined3d: Recognize SM5 dcl_hs_join_phase_instance_count instruction.
Signed-off-by: Guillaume Charifi <guillaume.charifi@sfr.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 13:23:41 +01:00
Józef Kucia b5b26c204f wined3d: Don't leak texture in wined3d_unordered_access_view_destroy_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>
2017-03-02 10:21:10 +01:00
Józef Kucia 700dd3518b wined3d: Add ARB_shader_storage_buffer_object extension.
Nvidia binary drivers require the ARB_shader_storage_buffer_object
extension to be enabled in order to use atomic operations on compute
shader shared variables.

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-03-02 10:20:43 +01:00
Józef Kucia d853eaedae wined3d: Implement SM5 sync 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-03-02 10:20:41 +01:00
Józef Kucia 5b43b83539 wined3d: Add support for store_{raw, structured} on thread group shared memory.
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-03-02 10:20:39 +01:00
Józef Kucia 63b1ad59a3 wined3d: Add support for atomic operations on thread group shared memory.
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-03-02 10:20:37 +01:00
Józef Kucia 27a55f8f49 wined3d: Rename shader_glsl_ld_buffer() to shader_glsl_ld_raw_structured().
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-03-02 10:20:32 +01:00
Józef Kucia 3ab2482e0b wined3d: Add support for ld_raw on thread group shared memory.
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-03-01 17:36:34 +01:00
Józef Kucia fdca95efae wined3d: Add shader_reg_maps_add_tgsm() helper 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-03-01 17:36:31 +01:00
Józef Kucia 7590a94dab wined3d: Handle structured thread group shared memory declarations.
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-03-01 17:36:29 +01:00
Józef Kucia bd6ae2f459 wined3d: Handle raw thread group shared memory declarations.
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-03-01 17:36:23 +01:00
Henri Verbeet 3b0e37a0f4 wined3d: Send swapchain context creation through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-01 10:29:16 +01:00
Sebastian Lackner fca25446ef wined3d: Clear device state in wined3d_device_reset.
Spotted by Henri Verbeet.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:02 +01:00
Bruno Jesus 3a81311870 wined3d: Recognize Geforce GT 525M.
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:02 +01:00
Józef Kucia 36b9bc946b wined3d: Introduce helper function to reserve memory for arrays.
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-28 20:40:02 +01:00
Józef Kucia 0b1b7d7b11 wined3d: Implement atomic instructions on structured buffer memory.
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-28 20:40:02 +01:00
Henri Verbeet cf4de1c498 wined3d: Send swapchain context destruction through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:29 +01:00
Henri Verbeet df0f07bfc5 wined3d: Get rid of an unneeded context_release() in swapchain_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:27 +01:00
Henri Verbeet b7f0d3312e wined3d: Use the command stream state in swapchain_gl_present().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:25 +01:00
Henri Verbeet a7809706bb wined3d: Use the command stream state in wined3d_cs_exec_dispatch().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:23 +01:00
Henri Verbeet a7560cf695 wined3d: Use the command stream state in wined3d_cs_exec_draw().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:20 +01:00
Józef Kucia 6823abd521 wined3d: Add quirk for Nvidia viewport subpixel bits bug.
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-28 09:39:11 +01:00
Józef Kucia 0d6b6ec33d wined3d: Pass wined3d_caps_gl_ctx to driver quirk match() 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-28 09:39:06 +01:00
Henri Verbeet 97266441f4 wined3d: Use the command stream state in wined3d_cs_exec_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:57:43 +01:00
Henri Verbeet 29326406c3 wined3d: Use the command stream state in device_clear_render_targets().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:57:41 +01:00
Henri Verbeet 4aec7f0cc4 wined3d: Pass the primitive type to wined3d_cs_emit_draw().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:57:39 +01:00
Henri Verbeet e8e4fac959 wined3d: Do not record the GL primitive type in stateblocks.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:57:37 +01:00
Henri Verbeet 7b18ff5abb wined3d: Get rid of some redundant "texture" accesses in texture_resource_sub_resource_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:57:35 +01:00
Józef Kucia f4f2d4052b wined3d: Do not crash when attempting to issue draw call with no attachments.
The is broken since by 2641c5c28f.

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-27 09:57:16 +01:00
Józef Kucia fedabd7dd7 wined3d: Implement [imm_]atomic_{imax, imin} instructions for signed integers.
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-27 09:57:14 +01:00
Józef Kucia 0496c8c559 wined3d: Implement [imm_]atomic_{umax, umin} instructions for unsigned integers.
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-27 09:57:13 +01:00
Józef Kucia a9fdb4a099 wined3d: Use GL_ARB_shading_language_420pack for swizzle operations on scalars.
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-27 09:57:10 +01:00
Józef Kucia c07bfeb2b8 wined3d: Allow swizzle on vThreadIDInGroupFlattened 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-02-27 09:57:08 +01:00
Matteo Bruni 4f8c502ea7 wined3d: Fix querying texture-related limits on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:56:23 +01:00
Matteo Bruni ce77ef4ea0 wined3d: Don't require a separate sRGB GL texture if the format doesn't support sRGB reads.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 09:56:20 +01:00
Józef Kucia adedebf47a wined3d: Always use correct sampler bind index for ld_raw and ld_structured.
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-24 13:54:18 +01:00
Józef Kucia dae8785bea wined3d: Update UAV read bitmask for ld_raw and ld_structured instructions.
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-24 13:54:18 +01:00
Józef Kucia 38e2a5ee22 wined3d: Implement ld_structured 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-02-24 13:54:18 +01:00