Commit Graph

691 Commits

Author SHA1 Message Date
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
Józef Kucia a02fd72965 wined3d: Use depth/stencil formats for typeless resources only when WINED3DUSAGE_DEPTHSTENCIL is set.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-12 19:40:33 +01:00
Józef Kucia 4972cc89ce wined3d: Rename WINED3D_RS_CCW_STENCIL* render states to WINED3D_RS_BACK_STENCIL*.
Signed-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-08 13:54:19 +01:00
Józef Kucia e59ad5d136 wined3d: Introduce get_format_internal() 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>
2016-12-02 15:56:23 +01:00
Józef Kucia af1be967a0 wined3d: Fix depth/stencil shader resource views.
The WINED3DFMT_R32_FLOAT_X8X24_TYPELESS,
WINED3DFMT_X32_TYPELESS_G8X24_UINT, WINED3DFMT_R24_UNORM_X8_TYPELESS,
WINED3DFMT_X24_TYPELESS_G8_UINT formats were not initialized.

Signed-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-02 15:56:20 +01:00
Józef Kucia 7c9dbd789a wined3d: Add support for WINED3DFMT_D32_FLOAT_S8X24_UINT 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>
2016-12-02 15:56:18 +01:00