Paul Gofman
c13351c05a
wined3d: Do not zero 'w' with zero norm for 'nrm' opcode in GLSL backend.
...
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-06-13 20:56:20 +02:00
Paul Gofman
447c9523f8
wined3d: Use 3 component norm for 'nrm' opcode in GLSL backend.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=8848
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-06-13 20:56:17 +02:00
Henri Verbeet
258f0d209d
wined3d: Pass a wined3d_context_gl structure to context_enable_clip_distances().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 09:46:13 +02:00
Henri Verbeet
899e4c7aed
wined3d: Pass a wined3d_context_gl structure to context_active_texture().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 16:44:38 +02:00
Henri Verbeet
74ebaacb1a
wined3d: Pass a wined3d_context_gl structure to glsl_blitter_upload_palette().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-04 19:23:11 +02:00
Henri Verbeet
de035b71ab
wined3d: Move the WGL fields from struct wined3d_context to struct wined3d_context_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 22:33:30 +02:00
Paul Gofman
9c95ee3890
wined3d: Move multiply_vector_matrix() to wined3d_private.h.
...
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-05-21 18:08:37 +02:00
Paul Gofman
57bb929e8a
wined3d: Factor out compute_normal_matrix() function.
...
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-05-16 20:54:23 +02:00
Henri Verbeet
9cb572cb70
wined3d: Pass a wined3d_context_gl structure to context_set_draw_buffer().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 19:26:25 +02:00
Henri Verbeet
49889f72d7
wined3d: Pass a wined3d_context_gl structure to context_check_fbo_status().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 19:26:22 +02:00
Henri Verbeet
907b2a3333
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 19:26:20 +02:00
Henri Verbeet
54945f04de
wined3d: Pass a wined3d_context_gl structure to context_apply_blit_state().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 10:01:44 -05:00
Henri Verbeet
a1d3939254
wined3d: Pass a wined3d_context_gl structure to context_get_tex_unit_mapping().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 10:01:34 -05:00
Paul Gofman
ff47237ede
wined3d: Check if destination texture is FBO attachable in glsl_blitter_supported().
...
If the destination texture is not FBO attachable GLSL blitter does not work
for it unless backbuffer is used as offscreen rendering mode.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47121
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-05-06 13:19:33 -05:00
Henri Verbeet
e37a5e8029
wined3d: Use shader_glsl_append_imm_vec4() in shader_glsl_get_register_name().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-02 17:10:37 +02:00
Paul Gofman
75aa4ab16b
wined3d: Use intBitsToFloat() instead of uintBitsToFloat().
...
There is no uint type in GLSL version < 1.3, while
ARB_shader_bit_encoding may still be supported.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47039
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-04-24 00:37:33 +02:00
Paul Gofman
5ed7a61de7
wined3d: Use ARB_shader_bit_encoding for storing local constants when available.
...
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-04-09 19:33:54 +02:00
Józef Kucia
89fbb64fb8
wined3d: Pass wined3d_adapter to fragment_pipe->get_caps().
...
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>
2019-03-29 21:24:01 +01:00
Józef Kucia
9502b8e843
wined3d: Pass wined3d_adapter to vp_get_caps().
...
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>
2019-03-29 21:24:01 +01:00
Józef Kucia
20a94e6998
wined3d: Pass wined3d_adapter to shader_get_caps().
...
Suggested by Henri Verbeet.
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>
2019-03-29 21:24:01 +01:00
Paul Gofman
826b67e395
wined3d: Treat zero shininess as no specular lighting in legacy lighting mode.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42572
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-03-29 21:14:00 +01:00
Henri Verbeet
a5279a5fba
wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.
...
Astutely spotted by Józef Kucia.
This fixes a regression introduced by commit
961a94ac04
.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 22:09:04 +01:00
Józef Kucia
6cc36f7296
wined3d: Pass context to vp_free() and free_private().
...
Avoid using "adapter->gl_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>
2019-03-26 20:35:55 +01:00
Józef Kucia
89f124ffc5
wined3d: Implement eval_sample_index shader 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>
2019-03-06 18:31:51 +01:00
Józef Kucia
32c54006d2
wined3d: Rename state entry 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>
2019-03-04 19:34:57 +01:00
Paul Gofman
32b6ccb9c1
wined3d: Add a setting to turn off aggressive optimization on NVIDIA.
...
NVIDIA drivers perform too aggressive optimization involving change
of computation order (aka 'fastmath') by default. The setting
helps to workaround bugs like https://bugs.winehq.org/show_bug.cgi?id=35207 .
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 20:48:38 +01:00
Zebediah Figura
4b17bad348
wined3d: Rename MAX_CLIP_DISTANCES to WINED3D_MAX_CLIP_DISTANCES.
...
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>
2019-02-22 21:23:18 +01:00
Zebediah Figura
10ecdca9cc
wined3d: Rename MAX_ACTIVE_LIGHTS to WINED3D_MAX_ACTIVE_LIGHTS.
...
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>
2019-02-22 21:23:13 +01:00
Zebediah Figura
faea4679c0
wined3d: Rename MAX_FRAGMENT_SAMPLERS to WINED3D_MAX_FRAGMENT_SAMPLERS.
...
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>
2019-02-22 12:26:27 +01:00
Zebediah Figura
0be165a7cd
wined3d: Rename MAX_TEXTURES to WINED3D_MAX_TEXTURES.
...
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>
2019-02-22 12:26:23 +01:00
Józef Kucia
71ddc97b91
wined3d: Mark dcl_input_ps_{siv, sgv} shader instructions as implemented.
...
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>
2019-02-13 19:45:24 +01:00
Zebediah Figura
bc96d2f164
wined3d: Introduce a separate structure for light state.
...
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>
2019-02-13 19:45:24 +01:00
Józef Kucia
e778a210f8
wined3d: Remove unnecessary src_format NULL check from glsl_blitter_supported().
...
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>
2019-02-12 23:02:28 +01:00
Józef Kucia
45deb5aa24
wined3d: Factor out shader_get_stream_output_register_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>
2019-02-12 23:02:28 +01:00
Józef Kucia
a2ea5a98ee
wined3d: Keep original component index in stream output elements.
...
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>
2019-02-12 23:02:28 +01:00
Józef Kucia
c74c8800b3
wined3d: Do not convert SO declaration entries.
...
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>
2019-02-08 22:18:16 +01:00
Paul Gofman
6963fd0bef
wined3d: Use lower 8 bits only from _ALPHAREF state.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38138
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-02-05 19:27:25 +01:00
Henri Verbeet
347743fad5
wined3d: Allow multisample destination textures in the GLSL blitter.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46459
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-15 15:26:15 +01:00
Henri Verbeet
536782bc1c
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST in the GLSL blitter.
...
Both the ARBfp and fixed-function blitter support
WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST, but the fixed-function blitter requires
a compatibility context, and the ARBfp blitter isn't created when the GLSL
blitter is available.
This fixes a regression introduced by commit
6fc027e5ac
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45874
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-11 18:35:46 +01:00
Henri Verbeet
bb0063af39
wined3d: Support WINED3D_BLIT_OP_COLOR_BLIT_CKEY in the GLSL blitter.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45874
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-11 18:35:44 +01:00
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
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
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
961a94ac04
wined3d: Move the "target" field from struct wined3d_texture to struct wined3d_texture_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:53:59 +01:00
Henri Verbeet
5f9740762a
wined3d: Move the OpenGL textures from struct wined3d_texture to struct wined3d_texture_gl.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:53:55 +01:00
Józef Kucia
b4b55bbbb6
wined3d: Add core context support for A8_UNORM render targets.
...
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-10-01 19:12:33 -07:00
Józef Kucia
dbaaee8e4d
wined3d: Add GL_ARB_shader_viewport_layer_array 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-09-25 21:45:04 +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
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
cee95b7853
wined3d: Pass a wined3d_string_buffer to shader_glsl_get_register_name().
...
Instead of hoping that 150 characters is plenty.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:09 +02:00