Commit Graph

9137 Commits

Author SHA1 Message Date
Daniel Ansorregui 5a961e8de7 wined3d: Simplify "glsl_generate_ffp" texture projection.
This is to simplify the code before adding the FETCH4
modifications. No change is intended in the shader generation.

Signed-off-by: Daniel Ansorregui <mailszeros@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:24:58 +01:00
Henri Verbeet 74931f9217 wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the cursor texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:24:54 +01:00
Henri Verbeet e5a6861d3a wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the logo texture.
We never map it.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 20:24:52 +01:00
Józef Kucia 60d9211f0f wined3d: Fix mapping of SV_VertexID to gl_VertexID.
Based on a patch by Andrew Wesie.

In Direct3D, SV_VertexID generally starts from zero. In OpenGL,
gl_VertexID starts from "first" parameter passed to glDrawArrays(), or
from "baseVertex" parameter for indexed draw calls.  The
GL_ARB_shader_draw_parameters extension doesn't help us much because
gl_BaseVertexARB is zero for non-indexed draw calls [1]. If
gl_BaseVertexARB would be equal to "first" for non-indexed draw calls,
we could simply use gl_VertexID - gl_BaseVertexARB.

After this commit, SV_VertexID is still wrong for indirect draw calls
because we cannot easily access the "first" field from struct
DrawArraysIndirectCommand in a vertex shader.

[1] - The ARB_shader_draw_parameters spec says that "In the case where
the command has no <baseVertex> parameter, the value of
<gl_BaseVertexARB> is zero."

Signed-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-11-23 20:17:45 +01:00
Józef Kucia ceef4e77cf wined3d: Set base vertex index also for non-indexed 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>
2018-11-23 20:17:44 +01:00
Józef Kucia 13c9fda28f wined3d: Set base vertex index in CS 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-11-23 20:17:44 +01:00
Henri Verbeet 926c554d94 wined3d: Get rid of the redundant WINED3D_TEXTURE_CREATE_MAPPABLE flag in surface_convert_format().
We already set WINED3D_RESOURCE_ACCESS_MAP_R | WINED3D_RESOURCE_ACCESS_MAP_W.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 20:17:44 +01:00
Józef Kucia 74351205ac wined3d: Propagate HRESULTs in wined3d_swapchain_resize_target().
Signed-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-11-23 20:17:44 +01:00
Józef Kucia 8890ece54c wined3d: Do not crash when trying to draw to buffer render target.
Signed-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-11-23 20:17:44 +01:00
Józef Kucia 85d4482ccb wined3d: Implement WINED3D_QUERY_TYPE_SO_STATISTICS.
The WINED3D_QUERY_TYPE_SO_STATISTICS query type is just
WINED3D_QUERY_TYPE_SO_STATISTICS_STREAM0, but it is supported on feature
level 10.

Signed-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-11-21 17:06:42 +01:00
Józef Kucia efe867a2f6 wined3d: Add fallback for WINED3D_QUERY_TYPE_SO_STATISTICS_STREAM0.
Use non-indexed queries when ARB_transform_feedback3 is not 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>
2018-11-21 17:06:40 +01:00
Józef Kucia b0b27730e6 wined3d: Report system shared memory for adapters.
Signed-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-11-21 17:06:05 +01:00
Józef Kucia f17544a77c wined3d: Get rid of vram_bytes from struct wined3d_adapter.
Signed-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-11-21 17:06:03 +01:00
Józef Kucia 3e0148cab0 wined3d: Rename DeviceName to device_name.
Signed-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-11-21 17:06:01 +01:00
Paul Gofman 4aecfe2e05 wined3d: Don't pull _ACCESS_GPU textures to system memory in texture2d_blt().
The change introduced by commit 54a9e84952 had
side effect of ultimately selecting detsination texture location as
dst_texture->resource.map_binding, which is not the case in the default texture2d_blt()
code path.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46068
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 16:26:09 +01:00
Henri Verbeet 9bac6f159c wined3d: Disallow dynamic rendertarget and depth/stencil resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 0bae2bed43 wined3d: Require exclusive GPU access for rendertarget and depth/stencil resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 826be9ee10 wined3d: Make "driver private" formats always mappable.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 54d63891f3 wined3d: Allow binding scratch textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Henri Verbeet 87871e75e4 wined3d: Validate that the view resource has depth/stencil bind flags in wined3d_device_set_depth_stencil_view().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Józef Kucia a586d4e880 wined3d: Fix downloading data for 1D array textures.
glGetTexImage() downloads data for all layers.

Signed-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-11-16 18:41:14 +01:00
Józef Kucia 4bca8dbe0a wined3d: Add support for WINED3DFMT_R10G10B10A2_UINT.
Unfortunately, GL_RGB10_A2UI is not supported for buffer textures.

Signed-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-11-16 18:41:12 +01:00
Henri Verbeet c098173670 wined3d: Introduce a separate structure for OpenGL shader resource view information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Henri Verbeet cf6b3f28d7 wined3d: Introduce a separate structure for OpenGL unordered access view information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Henri Verbeet 0799c3babd wined3d: Introduce a separate structure for OpenGL rendertarget view information.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Henri Verbeet cdfdfc382b wined3d: Respect WINED3D_SWAPCHAIN_LOCKABLE_BACKBUFFER.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-08 19:03:26 +01:00
Henri Verbeet 04b675223d wined3d: Update the swapchain flags on wined3d_device_reset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 16:54:55 +01:00
Henri Verbeet ca87bd95c2 wined3d: Do not set WINED3D_TEXTURE_CREATE_GET_DC on the implicit depth/stencil texture.
It doesn't make a lot of sense for depth formats.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-07 16:54:53 +01:00
Henri Verbeet 03c1422a71 wined3d: Get rid of WINED3DUSAGE_TEXTURE.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 11:14:36 +01:00
Henri Verbeet a0d6ef5bb4 wined3d: Get rid of WINED3DUSAGE_DEPTHSTENCIL.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-06 11:14:34 +01:00
Henri Verbeet 3adf4b8415 wined3d: Get rid of WINED3DUSAGE_RENDERTARGET.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Henri Verbeet b93cfc18fa wined3d: Prefer bind flags over usage flags in wined3d_device_set_rendertarget_view().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 19:12:12 +01:00
Henri Verbeet 21f44e8fa6 wined3d: Prefer bind flags over usage flags in texture2d_load_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:02 +01:00
Henri Verbeet eed05ad890 wined3d: Prefer bind flags over usage flags in texture2d_load_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:02 +01:00
Henri Verbeet 49af0e73f7 wined3d: Prefer bind flags over usage flags in texture2d_load_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:02 +01:00
Henri Verbeet 43e7568666 wined3d: Prefer bind flags over usage flags in texture2d_load_renderbuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:02 +01:00
Henri Verbeet 58b681e920 wined3d: Prefer bind flags over usage flags in ffp_blitter_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:02 +01:00
Henri Verbeet ae0f03bac5 wined3d: Prefer bind flags over usage flags in ffp_blit_supported().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 09:17:02 +01:00
Henri Verbeet 12d7bd5607 wined3d: Prefer bind flags over usage flags in fbo_blitter_supported().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 09:17:01 +01:00
Henri Verbeet 220c078ed9 wined3d: Prefer bind flags over usage flags in wined3d_texture_prepare_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 09:16:59 +01:00
Henri Verbeet 6435bd743b wined3d: Prefer bind flags over usage flags in wined3d_texture_upload_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 09:16:57 +01:00
Henri Verbeet 14434751dd wined3d: Prefer bind flags over usage flags in wined3d_texture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 09:16:54 +01:00
Henri Verbeet 00275acca8 wined3d: Validate format capabilities against the bind flags instead of the usage flags in resource_init().
Note that buffer resources don't have an inherent format, so validating bind
flags against WINED3DFMT_UNKNOWN doesn't make a lot of sense. This wasn't an
issue previously because d3d11 doesn't set the usage flags corresponding to
the bind flags for buffer resources, and earlier versions of D3D didn't allow
buffers to be used as e.g. shader resources.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet 7d83ebeed2 wined3d: Pass bind flags to wined3d_get_format().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet ae6553bd0b wined3d: Pass bind flags to wined3d_check_device_format().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet 543605ca9d wined3d: Pass correct bind flags to swapchain creation functions.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet 7cba915710 wined3d: Pass correct bind flags to texture creation functions.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Henri Verbeet 45bf95278d wined3d: Store resource bind flags in the wined3d_resource structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:54:06 +01:00
Henri Verbeet 22b3a4f044 wined3d: Get rid of the "desc" field in struct wined3d_buffer.
Most of the information in "desc" is already stored in the wined3d_resource
structure.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:54:04 +01:00
Henri Verbeet f8ba91ac75 wined3d: Validate required OpenGL extensions in wined3d_texture_gl_init() instead of wined3d_texture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:54:02 +01:00