Commit Graph

8665 Commits

Author SHA1 Message Date
Józef Kucia 89eaa4aa37 wined3d: Do not validate texture type in resolve_depth_buffer().
It's validated in wined3d_texture_blt().

Signed-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-02-05 16:24:52 +01:00
Józef Kucia f2e614b1f8 wined3d: Implement ld2dms 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>
2018-02-05 16:24:50 +01:00
Józef Kucia 780ec0c1f9 wined3d: Add support for multisample samplers.
Signed-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-02-05 16:24:48 +01:00
Józef Kucia fea8cf8b36 wined3d: Add ARB_texture_storage_multisample 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>
2018-02-05 16:24:46 +01:00
Józef Kucia 416f8d2e86 wined3d: Add ARB_texture_multisample 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>
2018-02-05 16:24:44 +01:00
Henri Verbeet c0f92bd318 wined3d: Implement wined3d_buffer_create_ib() on top of wined3d_buffer_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Henri Verbeet 1377e7a608 wined3d: Implement wined3d_buffer_create_vb() on top of wined3d_buffer_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Henri Verbeet 8623bd3b6b wined3d: Replace the CPU access flags in struct wined3d_buffer_desc with resource access flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-05 10:00:07 +01:00
Henri Verbeet 9275b06cc0 wined3d: Replace the pool in struct wined3d_resource_desc with resource access flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:45 +01:00
Henri Verbeet 916c13c6c1 wined3d: Replace the pool in struct wined3d_sub_resource_desc with resource access flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:42 +01:00
Henri Verbeet def8363476 wined3d: Use the resource access flags in texture_resource_sub_resource_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:40 +01:00
Henri Verbeet 2420d37a9d wined3d: Use the resource access flags in wined3d_texture_unload().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:37 +01:00
Henri Verbeet e6909c8f50 wined3d: Use the resource access flags in wined3d_texture_set_lod().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 18:36:34 +01:00
Henri Verbeet bfc0f3bdf1 wined3d: Use more resource access flags in wined3d_texture_use_pbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 09:18:35 +01:00
Henri Verbeet 74c97c9a56 wined3d: Use the resource access flags in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 09:18:33 +01:00
Henri Verbeet 4928e38c0a wined3d: Use the resource access flags in ffp_blitter_use_cpu_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 09:18:31 +01:00
Henri Verbeet 15e466690a wined3d: Use the resource access flags in surface_blt_special().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:55 +01:00
Henri Verbeet 51b9a9bb6b wined3d: Use the resource access flags in wined3d_resource_set_priority().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:55 +01:00
Henri Verbeet d099e45e46 wined3d: Use the resource access flags in resource_cleanup().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:55 +01:00
Henri Verbeet 7ef8b31965 wined3d: Use the resource access flags in resource_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-31 17:54:54 +01:00
Józef Kucia 0735c53138 wined3d: Simplify code paths in wined3d_cs_exec_update_sub_resource().
Signed-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-01-30 20:42:07 +01:00
Henri Verbeet 0bf0e0d3ae wined3d: Use the resource access flags in wined3d_device_evict_managed_resources().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:06 +01:00
Henri Verbeet 72a2f02486 wined3d: Use the resource access flags in wined3d_device_update_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:06 +01:00
Henri Verbeet c26c9badc4 wined3d: Use the resource access flags in buffer_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:06 +01:00
Henri Verbeet b7496ebacc wined3d: Use the resource access flags in ffp_blit_supported().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 20:29:00 +01:00
Henri Verbeet 36f20ec5d1 wined3d: Use the resource access flags in fbo_blitter_supported().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 20:29:00 +01:00
Henri Verbeet a3b6f8ceb9 wined3d: Use the resource access flags in arbfp_blit_supported().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 20:29:00 +01:00
Henri Verbeet 2abf1dd323 wined3d: Get rid of WINED3D_POOL_SCRATCH.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 20:29:00 +01:00
Henri Verbeet 798504700b wined3d: Introduce WINED3D_RESOURCE_ACCESS_MAP.
In order to distinguish between resources that exist purely in CPU memory and
resources that exist in GPU memory but can be mapped.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-29 20:28:59 +01:00
Józef Kucia 4701425f3c wined3d: Add buffer usage to wined3d_swapchain_desc.
Signed-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-01-25 16:27:10 +01:00
Józef Kucia b0415bbc22 wined3d: Fix linestrips output for 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>
2018-01-10 23:16:09 +01:00
Józef Kucia ca11278067 wined3d: Load buffer before applying state for indirect dispatches.
Signed-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-01-09 20:32:22 +01:00
Józef Kucia 6280926e3b wined3d: Load buffer before applying state for indirect draws.
wined3d_load_buffer() might invalidate the current state.

Signed-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-01-09 20:32:19 +01:00
Henri Verbeet bc75bec270 wined3d: Add a download function for WINED3DFMT_X8D24_UNORM.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-05 19:20:34 +01:00
Henri Verbeet 63ed42ac39 wined3d: Ignore WINED3D_MAP_DISCARD when used together with WINED3D_MAP_NOOVERWRITE.
This fixes a performance issue exposed by commit
afb2aa2512.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-03 17:46:56 +01:00
Józef Kucia d38076fd57 wined3d: Consider CPU blitter when clearing discarded textures.
In order to avoid invalidating system memory for "converted" surfaces.

Fixes a regression introduced by commit 56128d18d4 ("wined3d: Drop the
special case for "converted" surfaces in wined3d_surface_blt().").

Signed-off-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-21 16:06:02 +01:00
Józef Kucia 4a55ddce47 wined3d: Recognize SM5 eval_sample_index 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-11 18:21:15 +01:00
Józef Kucia 6e5df50ac8 wined3d: Fix device format support checks for multiple usages.
We can return WINED3DOK_NOAUTOGEN only when all other resource usages
are supported.

Fixes 25a8773d21 ("wined3d: Advertise AUTOGENMIPMAP only for
renderable and filterable formats."). The problem was present before
25a8773d21, but the mentioned commit made it much worse. Previously,
it was an issue only for OpenGL implementations which do not support
the GL_SGIS_generate_mipmap extension.

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-11 18:21:09 +01:00
Józef Kucia 9673a36727 wined3d: Avoid calling removed/deprecated GL functions in SetupForBlit().
Eliminates possible GL errors when core contexts are used.

Signed-off-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-08 18:20:18 +01:00
Matteo Bruni 83a30fad0a wined3d: Only allow swapchain textures to have mismatched sRGB setting in resource views.
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-08 18:20:08 +01:00
Matteo Bruni 1162d62164 wined3d: Fix shader_resource_view_generate_mipmaps() with texture views.
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-08 18:20:05 +01:00
Henri Verbeet 62651d65f4 wined3d: Raise the default max_gl_version for specific cases.
Effectively, this will enable Direct3D 11 by default on AMD and Intel
hardware.

Yes, this patch is awful.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-07 19:14:53 +01:00
Józef Kucia 0879b1730e wined3d: Do not call wined3d_from_cs() in shader_resource_view_generate_mipmaps().
The context_acquire() function does that.

Signed-off-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-07 19:14:40 +01:00
Józef Kucia 198340ff67 wined3d: Do not modify depth test state in wined3d_device_reset().
For consistency with wined3d_device_init_3d().

Signed-off-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-07 19:14:35 +01:00
Józef Kucia 72ecfb0ae4 wined3d: Fix relative addressing for SM4+ vertex shader inputs.
Relative addressing doesn't necessarily work for SM3.

Signed-off-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-07 19:14:11 +01:00
Józef Kucia 15824c0704 wined3d: Do not modify depth test state in wined3d_device_init_3d().
We do not want to automagically disable depth test 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>
2017-12-06 17:01:06 +01:00
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