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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
73d57ce7a9
wined3d: Change GL internal format for R32_TYPELESS.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 22:00:42 +02:00
Henri Verbeet
cad4badbcf
wined3d: Get rid of wined3d_select_blitter().
...
Instead, chain the blitters themselves. This also fixes the issue that
currently only a single blitter can store extra data in the "blit_priv" field
of struct wined3d_device.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:21 +02:00
Henri Verbeet
4b4091fa62
wined3d: Make the FBO blitter a proper blitter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:29 +02:00
Henri Verbeet
e19e15d317
wined3d: Remove WINED3D_BLT_DEPTH_FILL support from wined3d_texture_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:02:02 +02:00
Józef Kucia
96570c5216
wined3d: Bind transform feedback buffers.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 20:54:05 +02:00
Henri Verbeet
a6862f9170
wined3d: Rename struct blit_shader to struct wined3d_blitter_ops.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:58:01 +02:00
Józef Kucia
c191c2a09d
wined3d: Fix off-by-one error in wined3d_gl_limits_get_texture_unit_range().
...
Spotted by Matteo Bruni.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-16 15:03:10 +01:00
Huw Davies
7b32c8ab3e
wined3d: Zero-initialize count.
...
This prevents the loop below accessing beyond multisample_types
if the GL_NUM_SAMPLE_COUNTS call fails.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-16 15:03:05 +01:00
Józef Kucia
09fa9fbcf1
wined3d: Store GL sampler limits as array.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-15 17:32:58 +01:00
Józef Kucia
2ac254a0ff
wined3d: Add support for samplers in geometry shaders.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 17:14:41 +01:00
Józef Kucia
1865352e3f
wined3d: Allow using more than MAX_COMBINED_SAMPLERS texture image units.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 17:14:36 +01:00
Józef Kucia
d89ee7aaaa
wined3d: Move legacy texture image unit range allocation to wined3d_gl_limits_get_texture_unit_range().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-13 19:28:43 +01:00
Józef Kucia
36b9bc946b
wined3d: Introduce helper function to reserve memory for arrays.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:02 +01:00
Józef Kucia
6823abd521
wined3d: Add quirk for Nvidia viewport subpixel bits bug.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 09:39:11 +01:00
Józef Kucia
7d9b0a6e16
wined3d: Load sampler bindings for compute shaders.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:25:27 +01:00
Józef Kucia
a16a4931b6
wined3d: Introduce wined3d_device_set_cs_resource_view().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:25:02 +01:00
Henri Verbeet
0f304806b3
wined3d: Support depth formats in wined3d_format_convert_from_float().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 11:31:58 +01:00
Henri Verbeet
34a123631d
wined3d: Merge surface_convert_depth_to_float() into wined3d_format_convert_color_to_float().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 11:31:56 +01:00
Józef Kucia
2f6dd58099
wined3d: Get rid of initPixelFormatsNoGL().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:17 +01:00
Józef Kucia
572aa0e0ea
wined3d: Merge WINED3D_CS_OP_SET_UNORDERED_ACCESS_VIEW and WINED3D_CS_OP_SET_COMPUTE_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-02-09 13:17:57 +01:00
Józef Kucia
6cc1335adc
wined3d: Implement compute pipeline UAV binding.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:17:40 +01:00
Henri Verbeet
f4580e2a57
wined3d: Trace the blit parameters in wined3d_select_blitter().
...
Mostly for convenience, in principle these can be reconstructed from the rest
of the debug output.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 17:02:43 +01:00
Józef Kucia
5a093509d0
wined3d: Group compute states together.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:45:45 +01:00
Guillaume Charifi
82c25ce5b0
wined3d: Add support for BC5_SNORM format.
...
Signed-off-by: Guillaume Charifi <guillaume.charifi@sfr.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:12 +01:00
Józef Kucia
6b32db4f0b
wined3d: Store uniform blocks limits as array.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 16:26:50 +01:00
Matteo Bruni
69006a7cc6
wined3d: If the format is not FBO attachable disable sRGB writes only.
...
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-01-30 21:38:49 +01:00
Matteo Bruni
9fc3444d6e
wined3d: Correctly handle GL implementations not supporting sRGB FBO attachments.
...
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-01-30 21:38:49 +01:00
Henri Verbeet
7757ecfc70
wined3d: Only store light type counts in struct wined3d_ffp_vs_settings.
...
The ordering doesn't matter, so this avoids creating some redundant shader
variants.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:56:06 +01:00
Henri Verbeet
24d71ad7e7
wined3d: Fully initialise "settings" in wined3d_ffp_get_vs_settings().
...
Commit b62f4139ed
introduced implicit padding in
the wined3d_ffp_vs_settings structure. This causes redundant shader variants
to be generated. Although easy to avoid, there's also something to be said for
being more robust against padding.
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-01-09 20:49:11 +01:00
Józef Kucia
f752c09791
wined3d: Remove depth/stencil format flags from typeless formats.
...
We have separate formats for depth/stencil typeless formats. This fixes
blits for R32_TYPELESS and R16_TYPELESS formats.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-16 13:19:51 +01:00