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
Henri Verbeet
c90ce7b9a3
wined3d: Get rid of the "reg_name" field in struct glsl_src_param.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:09 +02:00
Henri Verbeet
dd282d3e8c
wined3d: Make the "is_color" parameter to shader_glsl_get_register_name() optional.
...
Not all callers care.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:09 +02:00
Henri Verbeet
dc57d0c607
wined3d: Pass a wined3d_shader_context structure to shader_glsl_get_register_name().
...
Instead of a wined3d_shader_instruction structure. It only uses the
instruction to get at the context, so just pass the context directly.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:09 +02:00
Henri Verbeet
5e3866cbdb
wined3d: Invalidate the FFP vertex shader when diffuse/specular attribute presence changes.
...
Debugged by Andy Clayton.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:00 +02:00
Józef Kucia
a622fbf9f3
wined3d: Separate feature level checks from shader model checks.
...
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-07-16 09:14:27 +02:00
Józef Kucia
7f1fe9385b
wined3d: Fix snorm/unorm immediate values for UAV writes.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45067
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-07-09 22:20:34 +02:00
Matteo Bruni
4032cc80f9
wined3d: Declare the correct number and type of fragment shader color outputs.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-05 19:57:16 +02:00
Matteo Bruni
346e8cf8ee
wined3d: Generate shader epilogue before conditional returns.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-15 09:11:13 +02:00
Matteo Bruni
42ace9d445
wined3d: Compare interpolation mode VS compilation arguments.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 16:07:18 +02:00
Matteo Bruni
05c6692471
wined3d: Slightly improve formatting of generated GLSL shader interfaces.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 16:07:18 +02:00
Józef Kucia
1dd33399db
wined3d: Sort WINED3DSIH enum values.
...
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-05-29 17:13:50 +02:00
Henri Verbeet
6fc027e5ac
wined3d: Only create the ARBfp blitter if creating the GLSL blitter failed.
...
Since the GLSL blitter can do everything the ARBfp one can.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-21 20:34:36 +02:00
Matteo Bruni
0b0c0c9a19
wined3d: Implement YUV blits in the GLSL blitter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-21 20:34:34 +02:00
Józef Kucia
9a9ecb9b11
wined3d: Implement oMask register.
...
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-05-18 01:43:36 +02:00
Józef Kucia
ce12b09159
wined3d: Implement SV_SampleIndex.
...
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-05-16 18:47:28 +02:00
Józef Kucia
630c7bb7e1
wined3d: Implement sampleinfo for render targets.
...
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-05-15 17:29:22 +02:00
Józef Kucia
9f353bf14f
wined3d: Add ARB_sample_shading 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-05-15 17:29:20 +02:00
Józef Kucia
9ddffbd3c0
wined3d: Implement sampleinfo 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-05-15 17:29:11 +02:00
Józef Kucia
f38de4ff61
wined3d: Fix memory leak in shader_glsl_init_transform_feedback().
...
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-05-14 16:05:23 +02:00
Henri Verbeet
71f24b8dbd
wined3d: Add core context P8 blit support to the GLSL blitter.
...
We use GL_R8 for WINED3DFMT_P8_UINT in core contexts, since GL_ALPHA8 is not
available.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-30 20:41:59 +02:00
Matteo Bruni
a46e47f8d0
wined3d: Implement P8 blits in the GLSL blitter.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-30 10:40:17 +02:00
Henri Verbeet
67df305261
wined3d: Make the "args" parameter to glsl_blitter_generate_program() const.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-30 10:40:12 +02:00
Józef Kucia
16517e4eea
wined3d: Implement copying for 1D textures.
...
1D textures are handled by raw and CPU blitter.
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-04-27 16:33:28 +02:00
Józef Kucia
f6160d2ae8
wined3d: Disable transform feedback when there are no varyings to record.
...
In order to avoid GL errors when glBeginTransformFeedback() is called.
This is required only because we do not fully support stream output
component ranges.
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-04-26 20:30:30 +02:00
Józef Kucia
3702e2bc42
wined3d: Avoid using gl_ViewportIndex unnecessarily.
...
Fixes geometry shaders when ARB_viewport_array 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-04-24 00:25:15 +02:00
Józef Kucia
ca8e05154e
wined3d: Add support for stream output with vertex shaders.
...
In Direct3D, a stream-output geometry shader can be created from a
vertex shader bytecode. We generate a pass-through geometry shader in
this case. Pass-through geometry shaders are helpful because they can
easily split outputs when rasterization is disabed. We could also add
another codepath in order to avoid geometry shaders when possible.
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-04-24 00:25:15 +02:00