Commit Graph

9026 Commits

Author SHA1 Message Date
Henri Verbeet b1d6d47c0c wined3d: Store the wined3d creation flags for NO3D adapters as well.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 12:29:08 +02:00
Henri Verbeet 9efa178ee6 wined3d: Do not report WINEDDSCAPS_VIDEOMEMORY for WINED3D_NO3D adapters.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 12:29:04 +02:00
Józef Kucia 29533a6cba wined3d: Introduce wined3d_device_get_feature_level().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Józef Kucia 7b2ff90404 wined3d: Pass feature levels to wined3d_device_create().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Józef Kucia 13ec617654 wined3d: Add remaining feature levels.
We still don't have proper and exhaustive checks for feature levels
capabilities.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Józef Kucia 0fbac19e60 wined3d: Make feature level enum compatible with Direct3D enum.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Henri Verbeet 1606dd39e2 wined3d: Move the OpenGL texture format to struct wined3d_format_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 10:24:31 +02:00
Henri Verbeet 3ad933d5e6 wined3d: Introduce WINED3DFMT_FLAG_BLIT.
To indicate whether a particular format can be used for "off-screen plain"
surfaces.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 10:24:29 +02:00
Henri Verbeet 723e62ab99 wined3d: Accept "renderer" in addition to "DirectDrawRenderer".
Even though the "gdi" renderer is mainly used for ddraw, wined3d itself has no
knowledge of ddraw.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 10:24:27 +02:00
Henri Verbeet e6076c8def wined3d: Move the OpenGL view class to struct wined3d_format_gl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-21 23:58:56 +02:00
Henri Verbeet 62ef751633 wined3d: Move the OpenGL vertex format to a separate structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-21 23:58:56 +02:00
Józef Kucia d3da2400e6 wined3d: Store max_clip_distances in struct d3d_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>
2018-09-20 16:37:30 +02:00
Józef Kucia 6d543d237c wined3d: Allocate memory for formats in wined3d_adapter_init_format_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>
2018-09-20 16:37:28 +02:00
Józef Kucia ff6d7de8ca wined3d: Add support for variable-sized format structures.
In order to move GL-specific fields into their own structure.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 16:37:27 +02:00
Józef Kucia 6a38579d0f wined3d: Introduce separate function for OpenGL formats initialisation.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 16:37:25 +02:00
Józef Kucia a84dad34ae wined3d: Introduce get_format_by_idx() helper function.
In preparation for variable-sized format structures.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 16:37:22 +02:00
Henri Verbeet 859c1d26ce wined3d: Disallow creating devices without adapters in wined3d_device_create().
These days, we have an adapter even with WINED3D_NO3D.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 12:34:27 +02:00
Henri Verbeet 8f9a2165e9 wined3d: Rename "wined3d_adapter_opengl" to "wined3d_adapter_gl".
For consistency with the filename.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 12:34:24 +02:00
Józef Kucia e1dc8a6d64 wined3d: Apply legacy format swizzles only when requested.
We do not want to apply legacy format swizzles for D3D10+.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
Józef Kucia a4bcee5dcc wined3d: Implement vCoverage register.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45848
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
Henri Verbeet 07dad9b150 wined3d: Store the NPOT texture capabilities in struct wined3d_d3d_info.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 12:29:25 +02:00
Henri Verbeet 2e34d2e457 wined3d: Reorder the formats in debug_d3dformat() to match the enum order.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 12:29:23 +02:00
Henri Verbeet 14cda07a9f wined3d: Properly initialise the driver info in wined3d_adapter_no3d_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 12:29:21 +02:00
Henri Verbeet d76c027ef7 wined3d: Get rid of the "format_count" field from struct wined3d_adapter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 12:29:19 +02:00
Henri Verbeet db5f14e411 wined3d: Make the resource parameter to wined3d_resource_get_decompress_format() const.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:40:08 +02:00
Józef Kucia f9d14d6713 wined3d: Cleanup get_flexible_vertex_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>
2018-09-17 15:39:13 +02:00
Józef Kucia 51db33ca07 wined3d: Move get_flexible_vertex_size() to device.c.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:39:12 +02:00
Józef Kucia 454f87980a wined3d: Initialise typeless formats after all formats properties are initialised.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:39:10 +02:00
Józef Kucia 34b7e19cdb wined3d: Initialise typeless_id for typeless formats early.
Allows us to use wined3d_format_is_typeless() while initialising
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>
2018-09-17 15:39:08 +02:00
Józef Kucia 15e594ae47 wined3d: Store additional flags directly in wined3d_format_block_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>
2018-09-17 15:39:07 +02:00
Józef Kucia e1c59f12c5 wined3d: Add missing formats to debug_d3dformat().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:39:05 +02:00
Józef Kucia 62d1b64333 wined3d: Use get_format_internal() to get WINED3DFMT_UNKNOWN.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:39:03 +02:00
Józef Kucia ea8a88047c wined3d: Set WINED3DFMT_FLAG_COMPRESSED based on format block 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>
2018-09-14 19:09:50 +02:00
Józef Kucia 2b56410081 wined3d: Use >= for shader model checks in feature_level_from_caps().
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>
2018-09-14 19:09:47 +02:00
Henri Verbeet a220669f33 wined3d: Introduce WINED3DFMT_FLAG_VERTEX_ATTRIBUTE.
To indicate a format can be used for vertex attributes.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-14 12:48:31 +02:00
Henri Verbeet 39e19d2d21 wined3d: Use a table for colour fixups in apply_format_fixups().
This ends up being slightly more code, but I think the table is much more
readable.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:17:12 +02:00
Henri Verbeet cff217f9fc wined3d: Handle lack of ARB_half_float_vertex in format_vertex_info[].
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:17:11 +02:00
Henri Verbeet 05792f6476 wined3d: Move ARB_vertex_array_bgra handling to init_format_vertex_info().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-13 19:17:09 +02:00
Józef Kucia 453e47d910 wined3d: Add support for 1D UAVs in 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>
2018-09-11 16:15:10 +02:00
Henri Verbeet 19a532ca0a wined3d: Derive format component counts from the component info.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:31:43 +02:00
Henri Verbeet 9781ef76fa wined3d: Introduce WINED3DFMT_FLAG_NORMALISED.
Derived from the component info.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:31:42 +02:00
Henri Verbeet 8ad9f777b8 wined3d: Add component info for R10G10B10X2_SNORM and R10G10B10X2_UINT.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:31:40 +02:00
Henri Verbeet ccbee769a4 wined3d: Get rid of the "attribute_size" field in struct wined3d_format.
Note that "byte_count" is 4 for R10G10B10X2_UINT/R10G10B10X2_SNORM, while
"attribute_size" is 6. I think 4 is correct.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:31:38 +02:00
Józef Kucia b457352f0c wined3d: Add support for A8_UNORM render targets.
Not supported in core contexts yet.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44655
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:18:57 +02:00
Józef Kucia eec2f1db5d wined3d: Try to avoid allocating sysmem for GPU buffers with initial data.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:18:55 +02:00
Józef Kucia 3cd28caf17 wined3d: Fix initial data for non-GPU buffers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44655
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 18:18:51 +02:00
Józef Kucia 490c6d548a wined3d: Allow wined3d_device_update_sub_resource() only on GPU accessible resources.
wined3d_device_update_sub_resource() should work only on
D3D11_USAGE_DEFAULT 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>
2018-09-07 18:18:48 +02:00
Andrew Wesie c3af72019e wined3d: Use raw blit for supported depth-stencil blits.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45747
Signed-off-by: Andrew Wesie <awesie@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-03 19:43:48 +02:00
Józef Kucia 6edf38c205 wined3d: Use get_format_internal() 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>
2018-08-30 20:27:13 +02:00
Józef Kucia a301ba64d5 wined3d: Use get_format_internal() 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>
2018-08-30 20:27:11 +02:00