Józef Kucia
5d2a3ad310
wined3d: Add support for D3D10+ depth bias.
...
Direct3D seems to define exact depth bias scale factors per format.
In order to make depth bias work reliably across OpenGL drivers we need
to slightly adjust depth bias values passed to glPolygonOffset().
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-12-06 17:00:55 +01:00
Matteo Bruni
592a03afe7
wined3d: Use GL_DEPTH_COMPONENT16 for 16 bit depth texture formats.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
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-12-06 17:00:53 +01:00
Matteo Bruni
5fb50c9a1c
wined3d: Detect depth bias scale value per format.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
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-12-06 17:00:50 +01:00
Józef Kucia
9c8e781df1
wined3d: Add support for WINED3DFMT_BC4_SNORM 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-12-06 17:00:48 +01:00
Li Keqing
2d5f962f98
wined3d: Add Intel HD Graphics 5000 to the GPU list.
...
Signed-off-by: Li Keqing <auroracloud4096@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-06 17:00:44 +01:00
Józef Kucia
7225e60108
wined3d: Store only supported user clip planes.
...
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-12-05 20:30:06 +01:00
Józef Kucia
266f1054b5
wined3d: Correctly transform FFP clip planes.
...
A plane isn't transformed as simply as a vector.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
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-12-05 20:30:06 +01:00
Józef Kucia
429e0c9130
wined3d: Implement SV_CullDistance.
...
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-12-05 20:30:06 +01:00
Józef Kucia
431aa3274c
wined3d: Implement SV_ClipDistance.
...
In D3D10+ all clip distances declared in a shader are always enabled.
In other words, enablement of clip distances is a property of a 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-12-05 20:30:05 +01:00
Matteo Bruni
0daea6d2a0
wined3d: Implement manual mipmap generation.
...
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-12-05 20:30:05 +01:00
Henri Verbeet
89d038e189
wined3d: Really remove an outdated comment.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:04:02 +01:00
Fabian Maurer
0d45106054
wined3d: Unbind currently bound FBOs before dispatching compute shaders.
...
Many thanks to Matias N. Goldberg and Philip Rebohle for investigating and
solving the bug!
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:04:02 +01:00
Józef Kucia
46cf12318b
wined3d: Keep track of enabled clip distances.
...
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-12-04 11:52:12 +01:00
Józef Kucia
cf0f523243
wined3d: Pack wined3d_context better.
...
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-12-04 11:52:10 +01:00
Józef Kucia
46f0b1674f
wined3d: Disable all clip distances for blits.
...
GL_CLIP_PLANE0 and GL_CLIP_DISTANCE0 has the same value.
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-12-04 11:52:08 +01:00
Józef Kucia
2fdec9a898
wined3d: Limit number of supported user clip planes to 8.
...
We never supported, and we should never need to support more than 8 user
clip planes in wined3d.
OpenGL drivers do not expose more than 8 clip distances. Similarly,
other APIs, D3D10, D3D11 and D3D12 provide exactly 8 clip distances.
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-12-04 11:52:05 +01:00
Józef Kucia
98e63e469e
wined3d: Allow setting all 32 user clip planes.
...
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-12-04 11:52:02 +01:00
Matteo Bruni
22eabf1db7
wined3d: Add texture flag for mipmap generation.
...
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-12-01 15:56:55 +01:00
Matteo Bruni
21c7b94c81
wined3d: Refuse to create texture views changing format from non-typeless.
...
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-12-01 15:56:55 +01:00
Józef Kucia
577ccfdda9
wined3d: Introduce helper function to generate conditional 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-12-01 15:56:55 +01:00
Józef Kucia
f3e612bf16
wined3d: Fix SM4 discard_z 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-12-01 15:56:54 +01:00
Stefan Dösinger
04d4584dea
wined3d: Show the device window when changing fullscreen resolutions.
...
World of Warplanes calls SetWindowLong(window, GWL_STYLE, WS_POPUP)
before calling reset, effectively hiding the window. It does not call
SetWindowPos(SWP_FRAMECHANGED), so the effect isn't visible and the
game displays fine after the reset. However, after the next mouse
click WINPOS_WindowFromPoint skips the window because it doesn't have
WS_VISIBLE and returns the desktop window. This in turn triggers a
focus loss and d3d9 minimizes the game.
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-12-01 15:56:54 +01:00
Austin English
96288ce94a
wined3d: Remove outdated comment.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 09:18:02 +01:00
Henri Verbeet
f695a7c3f9
wined3d: Add format class information for WINED3DFMT_R8G8B8A8_SNORM.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:05 +01:00
Henri Verbeet
7b09398a0b
wined3d: Clamp NULL source boxes in wined3d_device_copy_sub_resource_region().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:05 +01:00
Józef Kucia
7374c8325d
wined3d: Allow copies between compatible formats in wined3d_device_copy_sub_resource_region().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:05 +01:00
Józef Kucia
61658f445b
wined3d: Allow copies between compatible formats in wined3d_device_copy_resource().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:05 +01:00
Henri Verbeet
e196ecd940
wined3d: Use raw blits in wined3d_device_copy_sub_resource_region().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:05 +01:00
Henri Verbeet
ac689f0ac9
wined3d: Use raw blits in wined3d_device_copy_resource().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:04 +01:00
Henri Verbeet
786ebbdec3
wined3d: Introduce a blitter based on ARB_copy_image.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-15 23:35:04 +01:00
Józef Kucia
4cfa13c533
wined3d: Invalidate pixel shader only when rasterization is toggled.
...
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
b9464cfdc2
wined3d: Handle stream output components when rasterization is disabled.
...
Geometry shader outputs can be freely split when there is no pixel 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-11-07 21:24:45 +01:00
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
Michael Müller
93c349c9c7
wined3d: Don't leak free_so_statistics_queries on device destruction.
...
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
7955ce42fc
wined3d: Fix FFP lighting.
...
Fixes a regression introduced by commit
c329ee5673
.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
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-05-30 11:12:49 +02:00
Józef Kucia
f20bdd8dee
wined3d: Remove outdated comment in CheckRenderTargetCapability().
...
The WINED3DFMT_FLAG_RENDERTARGET flag is cleared in
init_format_fbo_compat_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:04:02 +02:00
Józef Kucia
fca7f78ea0
wined3d: Do not bother to check identity fixup 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-05-30 11:04:00 +02:00
Józef Kucia
229d4aa7bc
wined3d: Trace color fixup checks in apply_format_fixups().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 11:03:58 +02:00
Józef Kucia
be20ddc38b
wined3d: Introduce query operation to destroy queries.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 11:03:55 +02:00
Józef Kucia
0a923d5233
wined3d: Require just specific OpenGL extensions and SM4 support for SM5.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 11:03:53 +02:00
Józef Kucia
1eb642aaf2
wined3d: Try harder to keep the current context.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:47 +02:00
Józef Kucia
dfa3be5c9d
wined3d: Implement SO statistics queries.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:47 +02:00
Józef Kucia
aff0cbb9c7
wined3d: Implement hull shader 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-05-25 20:47:46 +02:00
Józef Kucia
4597ef6696
wined3d: Avoid barrier() in tessellation control shader if possible.
...
Synchronization is only needed when output variables are read.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:46 +02:00
Józef Kucia
114f9791d2
wined3d: Do not use "temporary" bit field for SM4+ shaders.
...
Avoids generating needless variables for temporary registers in hull
shaders.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:46 +02:00
Józef Kucia
ac1d2f1e2f
wined3d: Generate variables for control point phase temporary 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-05-25 20:47:46 +02:00
Henri Verbeet
0597842218
wined3d: Only warn about 0 stencil ops in gl_stencil_op().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:46 +02:00
Henri Verbeet
cb77e188d1
wined3d: Validate constant buffer alignment.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:45 +02:00
Henri Verbeet
0726d7e82f
wined3d: Fix "sysmem_count" accounting in wined3d_texture_invalidate_location().
...
Only increase it if the sub-resource wasn't already exclusively in system
memory.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 20:47:45 +02:00
Sven Hesse
f492287412
wined3d: Add support for WINED3DFMT_R9G9B9E5_SHAREDEXP.
...
A format that contains 3 floating point values with a 9-bit mantissa
each and a shared 5-bit exponent.
Maps directly onto the RGB9_E5_EXT format available through the
GL extension EXT_texture_shared_exponent.
Signed-off-by: Sven Hesse <drmccoy@drmccoy.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 13:18:01 +02:00
Sven Hesse
741bc05118
wined3d: Add EXT_texture_shared_exponent extension.
...
Signed-off-by: Sven Hesse <drmccoy@drmccoy.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 13:18:01 +02:00
Henri Verbeet
6e4e3d8117
wined3d: Only warn about 0 blend ops in gl_blend_op().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:23 +02:00
Henri Verbeet
af767551fe
wined3d: Only warn about 0 blend factors in gl_blend_factor().
...
Some applications reset state by setting all render states to 0. That's
questionable on behalf of the application, but not an issue as far as wined3d
is concerned.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:23 +02:00
Henri Verbeet
fb75e0863a
wined3d: Only warn about unsupported input streams in fixed_get_input().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:23 +02:00
Henri Verbeet
2ed609f15d
wined3d: Add a conversion function for WINED3DFMT_X8D24_UNORM.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:23 +02:00
Henri Verbeet
01092d645f
wined3d: Just fail if looking up the guessed GPU info fails in wined3d_adapter_init_gl_caps().
...
This should never happen. Note that the previous code would return a GPU with
64 TiB of VRAM.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 15:30:23 +02:00
Sven Hesse
4b376ba7d2
wined3d: Implement SM5 gather4_po_c opcode.
...
A combination of gather4_c and gather4_po.
Signed-off-by: Sven Hesse <drmccoy@drmccoy.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:28:58 +02:00
Alistair Leslie-Hughes
c9ea06e7a8
wined3d: Allow passing NULL to context_reacquire().
...
A context associated with a query may be destroyed together
with a swapchain.
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-23 16:28:50 +02:00
Józef Kucia
38d5b29ae1
wined3d: Add support for output registers relative addressing.
...
Required for tessellation shaders.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:10 +02:00
Józef Kucia
1ac5db4fc0
wined3d: Implement temporary registers per phase.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:10 +02:00
Józef Kucia
bf27e30aef
wined3d: Implement patch constant 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-05-22 13:45:10 +02:00
Józef Kucia
5666bb8ffa
wined3d: Fix wined3d_sysval_semantic values for tessellation factors.
...
Apparently, dcl_input_* instructions do not use the same values as
sysval semantics in shader signatures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:10 +02:00
Józef Kucia
ec46c5beab
wined3d: Implement instancing for join phases.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:10 +02:00
Józef Kucia
90c6071d7d
wined3d: Implement instancing for fork phases.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:10 +02:00
Józef Kucia
083f28a0cd
wined3d: Mark some hull shader declarations as no-op in GLSL backend.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:09 +02:00
Józef Kucia
39d5dbd6ee
wined3d: Handle hull shader control point 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-05-22 13:45:09 +02:00
Józef Kucia
007eb7d869
wined3d: Generate code for hull shaders.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:09 +02:00
Józef Kucia
32c8d11e97
wined3d: Update vertex shader when hull shader is changed.
...
For vertex shader output count.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:09 +02:00
Henri Verbeet
22bdde479f
wined3d: Introduce a separate CS queue for resource maps.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Henri Verbeet
0f8b0d9d0a
wined3d: Clarify the status of ORM_BACKBUFFER.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Henri Verbeet
e091c6e81c
wined3d: Only translate coordinates for swapchain surfaces in surface_translate_drawable_coords().
...
This fixes a regression introduced by commit
dbd8c89ea8
. When using ORM_BACKBUFFER,
off-screen surfaces may be loaded into WINED3D_LOCATION_DRAWABLE. They
shouldn't be flipped in that case.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Henri Verbeet
d371468858
wined3d: Allow (some) blits with fixups in the arbfp and ffp blitters with ORM_BACKBUFFER.
...
When using ORM_BACKBUFFER, formats with fixups may need to be loaded into
WINED3D_LOCATION_DRAWABLE. Before commit
cad4badbcf
, surface_load_drawable() would always
use the device blitter, without checking whether the blitter actually supports
the blit. The FBO blitter would be able to handle these blits, but is
unavailable when using ORM_BACKBUFFER.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Józef Kucia
c675bf4e82
wined3d: Add support for patch list primitive type.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-19 14:01:35 +02:00
Józef Kucia
2b85e49e1b
wined3d: Recognize hull shader phases.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-19 14:01:30 +02:00
Józef Kucia
e233b3424a
wined3d: Change vPrim register data type to signed integer.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-19 14:01:27 +02:00
Józef Kucia
2b6a82d101
wined3d: Fix tracing of continuec instruction.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-19 14:01:19 +02:00
Józef Kucia
553282a0ff
wined3d: Generate rasterizer setup in domain shaders only when necessary.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 16:08:58 +02:00
Józef Kucia
b0d2cf8e3f
wined3d: Handle dcl_output_control_point_count instruction.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 16:08:56 +02:00
Józef Kucia
ab27a5902d
wined3d: Fill whole structure in find_ds_compile_args().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 16:08:54 +02:00
Józef Kucia
f6cbdd8a4c
wined3d: Invalidate domain shader state regardless of ARB_clip_control 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-05-17 16:08:52 +02:00
Józef Kucia
b45a0d4f15
wined3d: Generate code for domain shaders.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 18:58:57 +02:00
Józef Kucia
0994528b80
wined3d: Handle tessellation shaders 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-05-16 18:58:57 +02:00
Józef Kucia
45e50c3069
wined3d: Ignore dcl_index_range instruction in GLSL backend.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 18:58:57 +02:00
Józef Kucia
4036cd1bbe
wined3d: Add checkGLcall() to wined3d_unordered_access_view_clear_uint().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 18:58:57 +02:00
Józef Kucia
7b01569e44
wined3d: Recognize SM5+ patch input primitive types.
...
In D3D11 geometry shaders accept patches as input primitives. This is
forbidden in OpenGL as specified in the ARB_tessellation_shaders spec:
"we will not allow geometry shaders to receive patches in this
extension. That limitation may be relaxed in a future extension."
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 20:49:22 +02:00
Józef Kucia
c8b2452e35
wined3d: Print FIXME() for unknown SM4+ primitive types.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 20:49:21 +02:00
Józef Kucia
e6c3e35e07
wined3d: Enable GL_ARB_compute_shader unconditionally in 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-05-15 20:49:21 +02:00
Sven Hesse
a86fee5e20
wined3d: Implement SM4 continuec opcode.
...
Works just like breakc and retc.
Signed-off-by: Sven Hesse <drmccoy@drmccoy.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 11:34:58 +02:00
Józef Kucia
f4a34acf17
wined3d: Implement clearing buffer unordered access views.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-12 16:11:24 +02:00
Józef Kucia
cc8fbe7887
wined3d: Add ARB_clear_buffer_object extension.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-12 16:11:18 +02:00
Józef Kucia
68590a412d
wined3d: Add ARB_clear_texture extension.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-12 16:11:15 +02:00
Józef Kucia
487d2e0279
wined3d: Add support for patch constant signatures.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-12 16:11:13 +02:00
Sebastian Lackner
564170cbd0
wined3d: Shutdown CS thread before deallocating resources.
...
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-05-11 10:17:48 -05:00
Józef Kucia
6c5a90e193
wined3d: Add "parent_ops" for query objects.
...
In order to implement proper refcounting for
d3d11_immediate_context_SetPredication().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-11 10:17:48 -05:00
Józef Kucia
febf242ff5
wined3d: Make "value" optional in wined3d_device_get_predication().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-11 10:17:48 -05:00
Józef Kucia
e14e7e3237
wined3d: Implement floating-point viewports.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-11 10:17:47 -05:00
Józef Kucia
89a19317dd
wined3d: Disable only ARB_clip_control when ARB_viewport_array cannot be used for pixel center offsets.
...
We still may want to use ARB_viewport_array, even if only for multiple
viewports.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
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-05-11 10:17:41 -05:00
Józef Kucia
613a7e78cb
wined3d: Ignore unhandled shader data types.
...
This opcode may contain various types of additional data, e.g. shader
messages produced by the HLSL printf() function. It can generally be
safely ignored.
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-09 09:02:34 -05:00
Józef Kucia
864bcfe6e6
wined3d: Set geometry shader irrespective of vertex 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-09 09:02:32 -05:00
Józef Kucia
321591f834
wined3d: Merge shader_glsl_generate_sm4_rasterizer_input_setup() into shader_glsl_generate_output_setup().
...
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-08 10:11:10 -05:00
Józef Kucia
eb30543b1a
wined3d: Use interface blocks for shader inputs and outputs in GLSL 1.50.
...
We always use interfaces blocks 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-05-08 10:11:08 -05:00
Józef Kucia
620e2d6718
wined3d: Pass correct input count to shader_glsl_setup_sm3_rasterizer_input().
...
We declare min(vec4_varyings(4, gl_info), input_count) 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-05-08 10:11:05 -05:00
Józef Kucia
2da2b9669c
wined3d: Rework geometry shader inputs/outputs handling.
...
We want to always use the same name for input and output blocks in order
to make matching between different shader types easier. This will be
helpful for tessellation shaders.
This commit changes the input and output blocks for geometry shaders to
the following definitions:
in shader_in_out { vec4 reg[n]; } shader_in[];
out shader_in_out { vec4 reg[n]; } shader_out;
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-08 10:11:01 -05:00
Józef Kucia
3f3699b561
wined3d: Introduce wined3d_device_get_ds_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-05-08 10:10:57 -05:00
Matteo Bruni
43b6bfbc37
wined3d: Ignore lights out of maximum range for legacy FFP lighting too.
...
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-05-08 10:10:52 -05:00
Matteo Bruni
c329ee5673
wined3d: Fix specular lighting calculation.
...
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-05-08 10:10:50 -05:00
Matteo Bruni
1ed54d6ce3
wined3d: Release context on CPU blit failure.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
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-05-08 10:10:40 -05:00
Björn Bidar
5f0fd6c063
wined3d: Add NVIDIA GTX 1080 Ti to the GPU list.
...
Signed-off-by: Björn Bidar <theodorstormgrade@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-08 10:10:34 -05:00
Józef Kucia
0efb3e40e4
wined3d: Introduce wined3d_device_get_hs_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-05-05 14:12:17 +02:00
Józef Kucia
4b87ac3713
wined3d: Introduce wined3d_device_get_ds_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-05-05 14:12:17 +02:00
Józef Kucia
d0ece06142
wined3d: Introduce wined3d_device_get_hs_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-05-05 14:12:17 +02:00
Henri Verbeet
73170152dc
wined3d: Allow the command stream thread to run asynchronously.
...
For a modest performance improvement in CPU-limited scenarios, especially ones
where a significant amount of time is spent in the graphics driver. There's
certainly still more room for improvement, resource maps in particular will
currently cause stalls.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Henri Verbeet
2f0b945235
wined3d: Use the CPU blitter for clearing depth/stencil textures that are current in the map binding.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Henri Verbeet
aa199aca5c
wined3d: Print a FIXME if the view format doesn't match the resource format in surface_cpu_blt_colour_fill().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Józef Kucia
349e461126
wined3d: Introduce wined3d_device_get_ds_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-04-28 15:01:40 +02:00
Józef Kucia
70055cd450
wined3d: Introduce wined3d_device_get_hs_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-04-28 15:01:40 +02:00
Józef Kucia
8afc0e631c
wined3d: Add parent for rasterizer state objects.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 19:00:25 +02:00
Józef Kucia
5b0fe9cee5
wined3d: Add parent ops for sampler objects.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-26 15:54:46 +02:00
Józef Kucia
75bc118ff2
wined3d: Introduce wined3d_device_set_ds_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-04-26 15:54:40 +02:00
Józef Kucia
007e05765c
wined3d: Introduce wined3d_device_set_hs_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-04-26 15:54:33 +02:00
Józef Kucia
08e68f4fe8
wined3d: Initialize geometry shader limits when OpenGL 3.2 is 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-04-25 20:53:06 +02:00
Józef Kucia
2654710f44
wined3d: Introduce wined3d_device_set_ds_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-04-25 20:53:05 +02:00
Józef Kucia
96d569042d
wined3d: Introduce wined3d_device_set_hs_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-04-25 20:53:05 +02:00
Józef Kucia
a6cf4322dc
wined3d: Introduce wined3d_device_set_ds_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-04-25 20:53:04 +02:00
Józef Kucia
bfca7dad7c
wined3d: Introduce wined3d_device_set_hs_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-04-25 20:53:04 +02:00
Józef Kucia
4db17152f5
wined3d: Add ARB_tessellation_shader 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-25 20:53:04 +02:00
Henri Verbeet
5ff2fdc452
wined3d: Make blits asynchronous by default.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 08:44:54 +02:00
Christopher Berner
dad06728ce
wined3d: Add Nvidia TitanX (Pascal).
...
Signed-off-by: Christopher Berner <christopherberner@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:16:43 +02:00
Józef Kucia
c9549b03f5
wined3d: Introduce wined3d_device_get_unordered_access_view().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 15:29:23 +02:00
Józef Kucia
85423a06af
wined3d: Introduce wined3d_device_get_cs_uav().
...
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-24 15:29:23 +02:00
Józef Kucia
47b6e3d4e3
wined3d: Always use core profile GLSL versions.
...
We should not be using any legacy/deprecated syntax anymore.
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-24 15:29:23 +02:00
Henri Verbeet
449308ec5d
wined3d: Avoid touching the output value on failure in get_config_key_dword();.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:01:34 +02:00
Henri Verbeet
c09bb22c81
wined3d: Get rid of the "Multisampling" setting.
...
There should be no reason to set this anymore. Note that "SampleCount" can be
used to force a specific sample count.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:01:32 +02:00
Henri Verbeet
546be1b80b
wined3d: Use doubles to convert 24 and 32 bpc formats in wined3d_format_convert_from_float().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:01:30 +02:00
Henri Verbeet
fa6dba885c
wined3d: Use vector types in wined3d_format_convert_from_float().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:01:28 +02:00
Józef Kucia
0352291bda
wined3d: Drop support for ARB_geometry_shader4.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 13:43:18 +02:00
Józef Kucia
9d8adb202f
wined3d: Prefer core 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-04-21 13:43:15 +02:00
Józef Kucia
0d624fdb6c
wined3d: Implement geometry shader instancing.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 13:43:13 +02:00
Józef Kucia
1491151a37
wined3d: Recognize SM5 dcl_gsinstances opcode.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 13:43:11 +02:00
Józef Kucia
86f9eab8e2
wined3d: Recognize SM5 vGSInstanceID register.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 13:43:08 +02:00
Henri Verbeet
3311ea9859
wined3d: Use context_map_bo_address() in wined3d_buffer_copy().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 10:53:55 +02:00
Henri Verbeet
62ca4f3826
wined3d: Introduce context functions to map/unmap a wined3d_bo_address.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 10:53:53 +02:00
Józef Kucia
583255f2b2
wined3d: Use correct layer count for 3D textures.
...
Fixes a regression introduced by commit
9ffacc434e
.
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-20 18:58:45 +02:00
Józef Kucia
5bc49dd525
wined3d: Introduce wined3d_device_get_domain_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-20 18:58:45 +02:00
Józef Kucia
3c1726c2b5
wined3d: Introduce wined3d_device_get_hull_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-20 18:58:45 +02:00
Józef Kucia
69d771618c
wined3d: Introduce wined3d_device_set_domain_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-20 18:58:44 +02:00
Józef Kucia
94c11d23d1
wined3d: Introduce wined3d_device_set_hull_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-20 18:58:44 +02:00
Józef Kucia
d007ca28cb
wined3d: Use layout binding qualifiers with legacy contexts.
...
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-20 18:58:44 +02:00
Józef Kucia
74773a1603
wined3d: Avoid multiple layout qualifiers for uniform blocks.
...
Nvidia Legacy GPU driver (340.xx series) doesn't allow multiple layout
qualifiers.
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-20 18:58:44 +02:00
Józef Kucia
d5b9271e82
wined3d: Formalize requirements for layout qualifiers.
...
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-20 18:58:44 +02:00
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