Matteo Bruni
f942df461b
wined3d: Default to using a non-forward-compatible core profile context.
...
It should make it easier for the GL driver to upgrade the context to a
GL version higher than strictly requested.
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-05-14 16:05:18 +02:00
Nikolay Sivov
b2061c8589
wined3d: Invalidate number of viewports set for the context.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-27 16:32:49 +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
Nikolay Sivov
409497ee84
wined3d: Add support for setting multiple scissor rectangles.
...
Signed-off-by: Nikolay Sivov <nsivov@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
Matteo Bruni
f7926c0793
wined3d: Allow context_draw_shaded_quad() to function without immediate mode draws.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 13:29:52 +02:00
Henri Verbeet
8a1a67c431
wined3d: Simplify context_update_stream_sources().
...
Note that this slightly changes behaviour, in that no loads or unloads happen
anymore when "use_immediate_mode_draw" is set.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 13:29:49 +02:00
Henri Verbeet
e93e943ba4
wined3d: Use wined3d_bit_scan() in context_unload_numbered_arrays().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 13:29:47 +02:00
Henri Verbeet
8dc789fe3b
wined3d: Handle "namedArraysLoaded" in context_unload_vertex_data().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 13:29:45 +02:00
Henri Verbeet
437861f1dc
wined3d: Move the stream source binding code to context.c.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 13:29:43 +02:00
Matteo Bruni
f1ad8bab51
wined3d: Introduce a function for drawing shaded quads.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 14:13:59 +02:00
Matteo Bruni
9100fce2ba
wined3d: Move draw_textured_quad() to context.c.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 14:13:58 +02:00
Matteo Bruni
4573903c06
wined3d: Disable sRGB writes in context_apply_blit_state().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 14:13:55 +02:00
Sven Hesse
0e9f94ec1c
wined3d: Implement support for 1D textures.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 09:38:45 +02:00
Henri Verbeet
1251fe6921
wined3d: Get rid of ARB_vertex_blend support.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-23 14:02:57 +01:00
Henri Verbeet
e5ab987d60
wined3d: Simplify context_resource_released().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:42:00 +01:00
Henri Verbeet
70f017ac4d
wined3d: Get rid of the "StrictDrawOrdering" setting.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 11:41:50 +01:00
Henri Verbeet
50920453b0
wined3d: Pass a resource to context_generate_rt_mask_no_fbo().
...
Instead of a texture, since rendertarget views operate on resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 15:27:59 +01:00
Henri Verbeet
f4f20e48cf
wined3d: Pass a texture to context_surface_update().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 15:27:59 +01:00
Matteo Bruni
c0e49b0e2c
wined3d: Do not apply fixed-function state in context_apply_blit_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>
2018-03-13 20:35:26 +01:00
Henri Verbeet
9a00e032b7
wined3d: Pass a texture and sub-resource index to context_apply_fbo_state_blit().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:58:02 +01:00
Henri Verbeet
72de747c6a
wined3d: Pass the depth/stencil view as wined3d_rendertarget_info structure to context_apply_fbo_state().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:57:59 +01:00
Henri Verbeet
21257be2a9
wined3d: Pass a texture and sub-resource index to context_restore().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-12 17:57:51 +01:00
Henri Verbeet
3d21ea0807
wined3d: Store the EXT_fbo "renderbuffers" list in the texture instead of the surface.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-06 04:41:04 -06:00
Józef Kucia
53639b04eb
wined3d: Fix draw calls when first render target is NULL.
...
In Direct3D 10+, the render target at index 0 can be set to NULL.
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-03-02 10:52:04 +01:00
Józef Kucia
7096e1e02d
wined3d: Implement draw calls with no attachments.
...
Supported when ARB_framebuffer_no_attachments is available.
It was reported that no attachments framebuffers trigger GPU hangs
in The Witcher 3 on some system configurations with radeonsi driver.
MESA_EXTENSION_OVERRIDE=-GL_ARB_framebuffer_no_attachments can be used
as a workaround until it's fixed.
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-03-02 10:51:59 +01:00
Józef Kucia
e27141e015
wined3d: Use wined3d_bit_scan() in find_draw_buffers_mask().
...
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-28 19:39:28 +01:00
Józef Kucia
cae8ebab91
wined3d: Do not call context_validate_onscreen_formats() in context_apply_blit_state().
...
It does nothing when depth_stencil is NULL.
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-28 19:39:28 +01:00
Józef Kucia
7b62a970e9
wined3d: Try harder to reacquire context.
...
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-27 18:21:01 +01:00
Józef Kucia
d8c0bc8245
wined3d: Do not allocate framebuffer state structures dynamically.
...
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-27 18:21:01 +01:00
Józef Kucia
1075b4615b
wined3d: Limit number of supported render targets to 8.
...
Virtually all relatively modern GPUs support 8 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-02-26 16:40:23 +01:00
Józef Kucia
6eb562210c
wined3d: Merge drawprim.c into context.c.
...
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-26 16:40:22 +01:00
Józef Kucia
41717a148e
wined3d: Move dispatch_compute() to context.c file.
...
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-26 16:40:22 +01:00
Henri Verbeet
b574fab087
wined3d: Pass a wined3d_rendertarget_info structure to context_find_fbo_entry().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-26 11:40:33 +01:00
Józef Kucia
af3a2c751d
wined3d: Reduce code duplication in context_dump_fbo_attachment().
...
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-21 15:31:29 +01:00
Józef Kucia
62c7a351ec
wined3d: Dump sample counts for cube maps (Coverity).
...
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-21 15:31:28 +01:00
Henri Verbeet
4678dac730
wined3d: Introduce a helper to retrieve the texture target in context_set_fbo_key_for_render_target().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 09:24:57 +01:00
Henri Verbeet
acc0f49aae
wined3d: Introduce separate read and write resource map flags.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-19 13:43:52 +01:00
Józef Kucia
1b3b2b2268
wined3d: Introduce structure for dummy 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-02-15 19:34:52 +01:00
Józef Kucia
d9fa6bb6c2
wined3d: Create dummy textures for multisample texture 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-02-15 19:34:50 +01:00
Henri Verbeet
f08342f573
wined3d: Use the global memory allocation helpers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:06:58 +01:00
Józef Kucia
32e61de282
wined3d: Add support for multisample textures in context_dump_fbo_attachment().
...
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-09 18:53:02 +01:00
Józef Kucia
7221ccecdd
wined3d: Avoid guessing texture target if OpenGL 4.5 is 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-02-09 18:53:00 +01:00
Józef Kucia
9ab04c564e
wined3d: Use wined3d_bit_scan() in context_apply_compute_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-02-06 19:38:30 +01:00
Józef Kucia
dea7b8890c
wined3d: Use wined3d_bit_scan() in wined3d_enable_clip_distances().
...
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-06 19:38:30 +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
Fabian Maurer
0d45106054
wined3d: Unbind currently bound FBOs before dispatching compute shaders.
...
Many thanks to Matias N. Goldberg and Philip Rebohle for investigating and
solving the bug!
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-04 15:04:02 +01:00
Józef Kucia
46cf12318b
wined3d: Keep track of enabled clip distances.
...
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-04 11:52:12 +01:00
Józef Kucia
46f0b1674f
wined3d: Disable all clip distances for blits.
...
GL_CLIP_PLANE0 and GL_CLIP_DISTANCE0 has the same value.
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-04 11:52:08 +01:00
Józef Kucia
7f8e30bd1a
wined3d: Use ARRAY_SIZE().
...
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-10-19 16:53:49 +02:00
Józef Kucia
5d71c48cb3
wined3d: Factor out context_copy_bo_address() function.
...
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-08-08 20:01:49 +09:00