Henri Verbeet
4946471bec
wined3d: Use wined3d_bit_scan() in shader_glsl_generate_fragment_shader().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Henri Verbeet
1a7dbab1c4
wined3d: Use wined3d_bit_scan() in shader_generate_glsl_declarations().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Henri Verbeet
bbb7d41eae
wined3d: Use wined3d_bit_scan() in shader_glsl_load_constantsB().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Henri Verbeet
6f150854e7
wined3d: Use wined3d_bit_scan() in shader_glsl_load_constants_i().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Henri Verbeet
bfac6c990d
wined3d: Use wined3d_bit_scan() in set_glsl_shader_program().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:59:14 +01:00
Henri Verbeet
8350e026e8
wined3d: Use wined3d_uint32_compare() in glsl_program_key_compare().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Henri Verbeet
c8c79a9043
wined3d: Use wined3d_mask_from_size() in set_glsl_shader_program().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Henri Verbeet
8c7dce6949
wined3d: Use wined3d_mask_from_size() in shader_glsl_generate_stream_output_setup().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Henri Verbeet
02106b0195
wined3d: Use wined3d_mask_from_size() in shader_glsl_gather4().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Henri Verbeet
e804eebe0b
wined3d: Use wined3d_mask_from_size() in shader_glsl_store_uav().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Alexandre Julliard
8d6c33c3bf
include: Remove wine/port.h.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Zebediah Figura
669360152e
wined3d: Always set GL_PIXEL_UNPACK_BUFFER binding in glsl_blitter_upload_palette().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Matteo Bruni
884b7c50cf
wined3d: Declare gl_Position as invariant.
...
All D3D versions seem to basically guarantee invariance for the vertex
position at the very least. In practice, desktop GL implementations
also do the same.
That's not necessarily the case for tile based renderers, where the
cost of providing invariance might be non negligible. We want this
behavior though, so let's ask for it explicitly.
Based on a patch by Stefan Dösinger.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:50 +01:00
Jan Sikorski
fa410970d9
wined3d: Implement UAV clears on the Vulkan backend.
...
Based on the vkd3d implementation.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-06 20:29:35 +02:00
Anton Baskanov
e3db02d0cb
wined3d: Simplify the odd line condition in gen_yv12_read().
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:19 +02:00
Anton Baskanov
f4d2bdddca
wined3d: Fix the odd line condition in gen_yv12_read().
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 21:21:16 +02:00
Henri Verbeet
c2ea032a71
wined3d: Use wined3d_mask_from_size() in shader_glsl_get_sample_function().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:06 +02:00
Henri Verbeet
bc70306dd2
wined3d: Use wined3d_mask_from_size() in shader_glsl_atomic().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:04 +02:00
Henri Verbeet
420f86c2a5
wined3d: Use wined3d_mask_from_size() in shader_glsl_ld_uav().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:51:01 +02:00
Henri Verbeet
d5fa539749
wined3d: Use wined3d_mask_from_size() in glsl_blitter_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Matteo Bruni
2f5a01201c
wined3d: Don't pass the swizzle map to find_vs_compile_args() separately.
...
It's already part of the context.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 21:24:54 +02:00
Matteo Bruni
8127ea1f84
wined3d: Remove access to gl_info from find_ps_compile_args().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 21:24:51 +02:00
Matteo Bruni
7c578c14db
wined3d: Avoid Y correction on dFdy when using FBO ORM.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 21:24:49 +02:00
Matteo Bruni
7ab5f90396
wined3d: Rename gen_ffp_frag_op().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 21:24:46 +02:00
Henri Verbeet
ca289c2b39
wined3d: Reject raw blits between depth/stencil and colour resources in the GLSL blitter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 18:53:49 +02:00
Henri Verbeet
39263558a2
wined3d: Make some functions static.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-15 18:03:51 +02:00
Jan Sikorski
99dc5b78a1
wined3d: Add resolve_format parameter to blitter_blit.
...
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-31 22:16:25 +02:00
Matteo Bruni
65b3279bae
wined3d: Correctly handle modifiers on instructions with multiple destination registers.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 11:59:20 +01:00
Zebediah Figura
387a63237d
wined3d: Implement global resource memory barriers.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-29 20:53:32 +01:00
Henri Verbeet
7a54209d4b
wined3d: Implement the "precise" flag in the GLSL shader backend.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 21:44:17 +01:00
Henri Verbeet
1efa4ec7fa
wined3d: Handle UNORM/SNORM as FLOAT in shader_glsl_sprintf_cast().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Henri Verbeet
8ef6484deb
wined3d: Handle UNORM/SNORM as FLOAT in shader_glsl_append_dst_ext().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Henri Verbeet
3d883c640c
wined3d: Only store unique stream output descriptions.
...
This allows us to compare them by pointer.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 18:40:18 +02:00
Henri Verbeet
2558f5f218
wined3d: Implement shader_spirv_compile_vk().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:03:51 +02:00
Matteo Bruni
901042a123
wined3d: Remove some unnecessary "inline" qualifiers.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Matteo Bruni
86459002f1
wined3d: Update comment about sample_c_lz translation in GLSL.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:51 +02:00
Henri Verbeet
ce4b63dc88
wined3d: Use "depth_size"/"stencil_size" to check for depth/stencil formats in glsl_blitter_supported().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:48:48 +02:00
Paul Gofman
c0ab55700f
wined3d: Prepare/load the destination resource location in glsl_blitter_blit().
...
Like the other blitters. When the GLSL blitter was introduced, the idea was
that caller would be responsible for doing this, but we never ended up
updating the other blitters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49251
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Henri Verbeet
51a901e34e
wined3d: Store the wined3d primitive type in the wined3d state structure.
...
As opposed to the OpenGL primitive type.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:10:19 +02:00
Zhiyi Zhang
c2a20e7f59
wined3d: Fix uninitialised variable warnings.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:51:05 +02:00
Chip Davis
2d86752198
wined3d: Use GL_APPLE_rgb_422 for UYVY and YUY2 surfaces.
...
Theoretically, we could use it to support UYVY and YUY2 *textures* as
well, but it would still require converting from YUV to RGB after
sampling.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
Matteo Bruni
e11ae91b9c
wined3d: Store the framebuffer inline in struct wined3d_state.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Matteo Bruni
ef66c4488f
wined3d: Get rid of MAX_RENDER_TARGET_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>
2020-03-24 20:43:10 +01:00
Zebediah Figura
df569853bf
wined3d: Implement dual source blending.
...
Based on a patch by Michael Müller.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:52:39 +01:00
Zebediah Figura
3364348e6b
wined3d: Implement casting int to uint.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 20:14:06 +01:00
Henri Verbeet
7e385afd83
wined3d: Store a gl_info pointer in struct shader_glsl_ctx_priv.
...
Since the one in struct wined3d_shader_context is going away.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:17 +01:00
Paul Gofman
3c9b843175
wined3d: Check if destination texture has GPU access in glsl_blitter_supported().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Matteo Bruni
7dbdbcce46
wined3d: Introduce a separate use_legacy_fragment_output() helper.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 17:35:11 +01:00
Alex Henrie
6c40c2dab2
wined3d: Avoid dead assignment (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 15:31:23 +02:00
Henri Verbeet
000eab8727
wined3d: Store the sRGB constants as wined3d_vec4 structures.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 14:13:02 +02:00