Józef Kucia
57433da776
wined3d: Disable pixel shader when rasterization is disabled.
...
Allows us to split shader output variables when rasterization
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-11-07 21:24:45 +01:00
Józef Kucia
a063ca2e5b
wined3d: Get rid of hull_shader_init().
...
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-11-06 19:38:18 +01:00
Józef Kucia
86933f9d31
wined3d: Get rid of domain_shader_init().
...
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-11-06 19:38:14 +01:00
Józef Kucia
a1e158971c
wined3d: Get rid of compute_shader_init().
...
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-11-06 19:38:12 +01:00
Józef Kucia
e15b5c06d3
wined3d: Use wined3d_extract_bits().
...
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-11-06 19:37:30 +01:00
Józef Kucia
708c337f28
wined3d: Use wined3d_insert_bits().
...
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-11-06 19:37:27 +01:00
Józef Kucia
ce8610cea5
wined3d: Use textureGrad*() to implement sample_c_lz for array and cube textures.
...
Based on a patch by Michael Müller.
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-11-06 19:37:15 +01:00
Józef Kucia
14da948b74
wined3d: Create textures views for depth views.
...
In Direct3D a different format is used for sampling depth textures, but
this is not the case in OpenGL. We still need to create a texture view
when a texture type is different than a view type, or when a shader
resource view is being created for a subset of sub-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-11-06 19:37:12 +01:00
Józef Kucia
2c51fc1bfc
wined3d: Disable ARB_draw_indirect if ARB_base_instance is not available.
...
Avoids undefined behavior.
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-11-03 23:44:53 +01:00
Józef Kucia
dbea9b3ef4
wined3d: Require ARB_draw_indirect for SM5.
...
In order to disable feature level 11_0 when indirect draws
are not supported.
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-11-03 23:44:53 +01:00
Józef Kucia
a46a599af1
wined3d: Bail out when ARB_draw_indirect is not supported.
...
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-11-03 23:44:53 +01:00
Józef Kucia
7f1f586f5d
wined3d: Factor out draw_indirect() 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-11-03 23:44:52 +01:00
Józef Kucia
7d7d3a8db6
wined3d: Add FIXME() for unimplemented index buffer offsets.
...
We do not support index buffer offsets for indirect 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-11-03 23:44:52 +01:00
Józef Kucia
6a0546da92
wined3d: Add 4.4 to supported OpenGL versions.
...
We have a more efficient codepath for SM4+ interpolation modifiers
if GLSL 4.40 is 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-11-02 12:14:03 +01:00
Józef Kucia
5b3b1aa238
wined3d: Add support for R8_UNORM vertex format.
...
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-11-02 12:08:35 +01:00
Michael Müller
deae0044f4
wined3d: Add support for start instance in draw_primitive_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-11-02 12:08:28 +01:00
Józef Kucia
f4aa2911a6
wined3d: Implement indirect 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-11-02 12:08:17 +01:00
Józef Kucia
c736181da4
wined3d: Factor out acquire_graphics_pipeline_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-11-02 12:08:09 +01:00
Józef Kucia
f51f86cc19
wined3d: Add ARB_draw_indirect 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-11-02 12:08:05 +01:00
Michael Stefaniuc
9d1acd197d
wined3d: Use ARRAY_SIZE().
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 12:07:57 +01:00
Józef Kucia
7f8e30bd1a
wined3d: Use ARRAY_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-10-19 16:53:49 +02:00
Józef Kucia
c11251c188
wined3d: Get rid of unneeded includes.
...
math.h is included in wined3d_private.h
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-10-19 16:53:49 +02:00
Józef Kucia
0832b5cded
wined3d: Skip unhandled stream output components.
...
This should at least avoid trashing other stream output 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-10-19 16:53:49 +02:00
Józef Kucia
9cb69d91b2
wined3d: Pack interpolation modes.
...
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-10-18 15:38:18 +02:00
Józef Kucia
5189a4f135
wined3d: Implement SM4+ interpolation modifiers for GLSL < 4.40.
...
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-10-18 15:38:16 +02:00
Józef Kucia
46b3a03a97
wined3d: Implement interpolation mode when GLSL 4.40 is 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-10-18 15:38:13 +02:00
Józef Kucia
5deb1a20c3
wined3d: Use GLSL 4.40 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-10-18 15:38:13 +02:00
Józef Kucia
f75f581aa2
wined3d: Unroll SM4+ pixel shader inputs.
...
In order to add interpolation qualifiers per shader input.
Hull shader outputs are not unrolled because they can be accessed
through the indexable vocp 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-10-18 15:37:54 +02:00
Józef Kucia
033df63757
wined3d: Use correct data type for immediate constants.
...
In order to generate correct GLSL for image stores.
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-10-16 15:26:33 +02:00
Alexandre Julliard
5632c82c42
include: Get rid of wglext.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 19:49:29 +02:00
Matteo Bruni
25a8773d21
wined3d: Advertise AUTOGENMIPMAP only for renderable and filterable formats.
...
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-09-21 19:53:15 +02:00
Matteo Bruni
e4365e5ba3
wined3d: Accept creation flags for 3D textures.
...
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-09-21 19:52:56 +02:00
Matteo Bruni
5b7a6d424e
wined3d: Add ARB_texture_filter_anisotropic extension.
...
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-09-18 09:22:49 +02:00
Matteo Bruni
aac99bf2ce
wined3d: Always initialize fx field in struct wined3d_cs_blt_sub_resource (Valgrind).
...
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-09-18 09:22:47 +02:00
Matteo Bruni
10a62ee062
wined3d: Consider all the system memory locations when choosing the surface upload path.
...
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-09-18 09:22:44 +02:00
Matteo Bruni
58016408c2
wined3d: Don't claim SYSMEM location to be current if memory was evicted.
...
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-09-18 09:22:41 +02:00
Matteo Bruni
1378e623ca
wined3d: Disable the ARBfp blitter 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-09-13 17:25:48 +02:00
Matteo Bruni
27f1d5ae8e
wined3d: Disable YUV formats when not supported.
...
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-09-13 17:25:48 +02:00
Michael Müller
76783293cf
wined3d: Add conservative depth output information to GLSL pixel 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-09-11 18:43:16 +02:00
Michael Müller
c95e0ef092
wined3d: Recognize conservative depth output registers.
...
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-09-11 18:43:12 +02:00
Matteo Bruni
6ee7f90746
wined3d: Copy the module handle to a local variable in wined3d_cs_run().
...
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-09-11 18:42:55 +02:00
Matteo Bruni
cc8e873720
wined3d: Get rid of most of the redundant query flushes.
...
This way we avoid queueing up CS packets on each
wined3d_query_get_data() call, which has been seen in some degenerate
cases to starve other client threads that are trying to submit actual
work into the CS (sort-of a livelock).
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-09-11 18:42:35 +02:00
Matteo Bruni
6b98d3ebf1
wined3d: Restore support for d3d9 extension formats.
...
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-09-11 18:42:33 +02:00
Matteo Bruni
a55d384264
wined3d: Don't take the upload path for blits to formats requiring conversion.
...
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-09-06 17:31:00 +02:00
Matteo Bruni
c50090cb6e
wined3d: Return the up-to-date locations from blitters.
...
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-09-06 17:31:00 +02:00
Józef Kucia
b202586ee9
wined3d: Avoid potential NULL pointer dereference (Coverity).
...
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-08-31 18:55:11 +02:00
Stefan Dösinger
55eee0b9f1
wined3d: Do not call queue_is_empty in wined3d_cs_mt_finish.
...
Without an explicit volatile, aarch64 gcc will copy queue->tail into a
register outside the loop and then continuously compare two registers
against each other. The *(volatile LONG *)& forces gcc to re-read the
memory every iteration. Therefore, queue_is_empty as it is written will
only work from the CS thread.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 14:38:17 +02:00
Stefan Dösinger
183ca56e11
wined3d: Avoid writing queue->head in the CS thread.
...
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 14:38:15 +02:00
Henri Verbeet
57c0d98d11
wined3d: Explicitly check for "Radeon" and "FirePro" in wined3d_guess_card_vendor().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:07:06 +09:00
Michael Müller
3fd68e5ba5
wined3d: Recognize SM4 nop 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-08-16 11:06:28 +09:00
Józef Kucia
3513a0c9e7
wined3d: Add support for append/consume structured buffer 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-08-16 11:06:22 +09:00
Józef Kucia
2f66f1288f
wined3d: Implement indirect compute dispatch.
...
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-08-16 11:06:07 +09:00
Robert Xiao
b2303d90af
wined3d: Reduce timeout to avoid GL_TIMEOUT_EXPIRED on macOS.
...
Signed-off-by: Robert Xiao <brx@cs.cmu.edu>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 11:04:12 +09:00
Józef Kucia
2100e140ca
wined3d: Change wined3d_buffer_copy() return type to void.
...
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-08-08 20:02:03 +09:00
Józef Kucia
e7f1559a8d
wined3d: Add support for initial UAV counters values.
...
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-08-08 20:02:01 +09:00
Józef Kucia
24c39103be
wined3d: Implement copying 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-08-08 20:01:54 +09:00
Józef Kucia
5d71c48cb3
wined3d: Factor out context_copy_bo_address() 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-08-08 20:01:49 +09:00
Henri Verbeet
f7e37715fa
wined3d: Use the context information in context_set_pixel_format().
...
Instead of passing it around.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 20:20:09 +02:00
Henri Verbeet
3441ba9e03
wined3d: Properly update the context when falling back to the backup window in context_set_gl_context().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 20:19:59 +02:00
Henri Verbeet
6a5c372541
wined3d: Only flush valid contexts in wined3d_cs_exec_flush().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 20:19:50 +02:00
Józef Kucia
0e2f75b2f6
wined3d: Update ARB_pipeline_statistics_query extension detection.
...
ARB_pipeline_statistics_query is included in OpenGL 4.6.
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-08-01 14:08:15 +02:00
Henri Verbeet
cc16e0d2de
wined3d: Validate vertex shader input signature register indices (AFL).
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 16:10:17 +02:00
Józef Kucia
a6d26527c6
wined3d: Implement forceEarlyDepthStencil shader global 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-07-24 18:58:30 +02:00
Alexandre Julliard
548382e634
wined3d: Make sure we are still using the correct window before setting pixel format.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Józef Kucia
5151b80b2d
wined3d: Translate ld_{raw, structured} instructions more carefully.
...
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-07-18 20:43:33 +02:00
Józef Kucia
ffb72392b4
wined3d: Translate bfi, ubfe, ibfe instructions more carefully.
...
Makes sure that we do not overwrite source parameters for consecutive
GLSL function calls when the instruction is translated into multiple
lines.
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-07-18 20:43:33 +02:00
Henri Verbeet
56128d18d4
wined3d: Drop the special case for "converted" surfaces in wined3d_surface_blt().
...
We still want to avoid invalidating the system memory copy for these surfaces,
but we've become a lot better at preserving the current location for
resources, to the point that the special case actually hurts. In particular,
if the resource wasn't already current on the CPU, using the CPU blitter would
cause us to read it back, which is what we're trying to avoid.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
990be0ba50
wined3d: Avoid using the CPU blitter for clearing converted surfaces that aren't current on the CPU.
...
Since that would imply reading them back, with associated format conversion.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
92d030c41e
wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
a9a5f371ae
wined3d: Split combined render target and depth/stencil clears if needed in ffp_blitter_clear().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
b8e0af67f5
wined3d: Simplify the render target check in ffp_blitter_clear().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
95e42a8d19
wined3d: Handle WINED3D_POOL_SYSTEM_MEM resources in ffp_blitter_use_cpu_clear().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
864bef4c19
wined3d: Make a FIXME in cpu_blitter_clear() slightly more accurate.
...
The issue isn't so much stencil clears as clearing either depth or stencil on
formats that contain both.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
7578e09801
wined3d: Fix the WINED3DFMT_D24_UNORM_S8_UINT entry in wined3d_format_convert_from_float().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 10:52:06 +02:00
Józef Kucia
af80b7afdd
wined3d: Implement SM5 swapc 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-07-13 11:42:03 +02:00
Sebastian Lackner
c683372bca
wined3d: Return hr result in wined3d_event_query_create.
...
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-07-13 11:42:01 +02:00
Józef Kucia
c45b908abc
wined3d: Introduce wined3d fence objects.
...
Use fences for the APPLESYNC codepath, and implement event queries
on top of fences.
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-07-10 20:51:10 +02:00
Józef Kucia
11c902ebc7
wined3d: Clean up buffer_sync_apple().
...
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-07-10 20:51:10 +02:00
Józef Kucia
0edb71a35f
wined3d: Avoid creating event queries manually.
...
Fixes a regression introduced by commit
be20ddc38b
.
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-07-10 20:51:10 +02:00
Sebastian Lackner
7fbdb54ee4
wined3d: Trigger frontbuffer update in surface_cpu_blt.
...
Fixes a regression introduced in ee17d7ba1b
.
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-06-19 19:20:06 +02:00
Sebastian Lackner
a77d957da8
wined3d: Fix memory leaks in blitter_destroy callbacks.
...
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-06-19 09:48:24 +02:00
Sebastian Lackner
6dd1ca28bf
wined3d: Create CPU blitter also for GDI render.
...
Fixes a regression introduced in cad4badbcf
.
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-06-19 09:48:22 +02:00
Sebastian Lackner
a2c0d2bb37
wined3d: Avoid NULL pointer dereference when using GDI renderer.
...
Fixes a regression introduced in 62ca4f3826
.
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-06-19 09:48:19 +02:00
Józef Kucia
2b77c00b8f
wined3d: Do not declare pixel shader inputs when they are not used.
...
This is a workaround for a bug in Mesa GLSL linker. The bug is triggered
by GLSL generated for SM3 shaders when shader inputs are not read and
interface blocks are used for shader inputs/outputs (core profile code
path).
Declarations for unused shader inputs are not generated for pixel
shaders. We still declare shader outputs in the previous shader stage,
but it's allowed by the GLSL 1.50 spec:
"Only output variables that are read by the subsequent pipeline stage
need to be written; it is allowed to have superfluous declarations of
output variables."
The table in section 4.3.4 (Input Variables) of the GLSL 4.20 spec even
more explicitly allows shader output variables with no matching input
variables declared in the consuming 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-06-13 20:56:19 +02:00
Henri Verbeet
1d3a8a5ded
wined3d: Also check for "Mesa" in GL_VERSION in wined3d_guess_gl_vendor().
...
The existing checks should be sufficient, but the GL_VERSION one is
potentially more reliable.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-12 18:30:12 +02:00
Henri Verbeet
e0e4f9bbcd
wined3d: Use WINED3D_CS_QUEUE_MAP for WINED3D_CS_OP_UPDATE_SUB_RESOURCE.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-07 22:55:07 +02:00
Józef Kucia
10748ab9d8
wined3d: Rearrange wined3d_query_type enum values.
...
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-06-05 19:47:40 +02:00
Józef Kucia
54a0ce3685
wined3d: Introduce get_query_result64() 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-06-05 19:47:38 +02:00
Michael Müller
f52ead4b4d
wined3d: Implement WINED3D_QUERY_TYPE_PIPELINE_STATISTICS.
...
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-06-05 19:47:31 +02:00
Francois Gouget
2dc2db772c
wined3d: Add a trailing newline to 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-06-05 19:47:08 +02:00
Józef Kucia
d968d32a1b
wined3d: Correctly handle phase instance ID register when ARB_shading_language_pack420 is not supported.
...
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-31 20:51:46 +02:00
Józef Kucia
9128ec0bce
wined3d: Extend wined3d_check_device_format() to allow querying general format support.
...
For D3D10+.
When WINED3D_RTYPE_NONE is passed the wined3d_check_device_format()
function checks if a format is supported for all reasonable resource
types for a given usage. For now render target and depth stencil support
can be queried using this method.
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-31 20:51:45 +02:00
Józef Kucia
dbcd2ecc1e
wined3d: Prefer GLSL 1.50 shaders in draw_test_quad().
...
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-31 20:51:45 +02:00
Henri Verbeet
a61cfe0fd7
wined3d: Validate parameter lengths in shader_sm4_read_param() (AFL).
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 20:51:45 +02:00
Henri Verbeet
986adeef96
wined3d: Validate parameter lengths in shader_sm4_read_src_param() (AFL).
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 20:51:45 +02:00
Henri Verbeet
a5b4dedadd
wined3d: Validate parameter lengths in shader_sm4_read_dst_param() (AFL).
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 20:51:45 +02:00
Henri Verbeet
3821dcf996
wined3d: Only warn about 0 compare functions in wined3d_gl_compare_func().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-31 20:51:44 +02:00
Józef Kucia
0d9ce15ff6
wined3d: Use ARRAY_SIZE() in wined3d_format_get_color_key_conversion().
...
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:12:55 +02:00
Józef Kucia
cc84b252ff
wined3d: Use ARRAY_SIZE() in init_format_filter_info().
...
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:12:55 +02:00
Józef Kucia
0d3dc7c971
wined3d: Bind frag data location for core context draw quad 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-05-30 11:12:55 +02:00