Matteo Bruni
5b7a6d424e
wined3d: Add ARB_texture_filter_anisotropic extension.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 09:22:49 +02:00
Matteo Bruni
aac99bf2ce
wined3d: Always initialize fx field in struct wined3d_cs_blt_sub_resource (Valgrind).
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 09:22:47 +02:00
Matteo Bruni
10a62ee062
wined3d: Consider all the system memory locations when choosing the surface upload path.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 09:22:44 +02:00
Matteo Bruni
58016408c2
wined3d: Don't claim SYSMEM location to be current if memory was evicted.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 09:22:41 +02:00
Matteo Bruni
1378e623ca
wined3d: Disable the ARBfp blitter on core profile.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-13 17:25:48 +02:00
Matteo Bruni
27f1d5ae8e
wined3d: Disable YUV formats when not supported.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-13 17:25:48 +02:00
Michael Müller
76783293cf
wined3d: Add conservative depth output information to GLSL pixel 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>
2017-09-11 18:43:16 +02:00
Michael Müller
c95e0ef092
wined3d: Recognize conservative depth output registers.
...
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-09-11 18:43:12 +02:00
Matteo Bruni
6ee7f90746
wined3d: Copy the module handle to a local variable in wined3d_cs_run().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 18:42:55 +02:00
Matteo Bruni
cc8e873720
wined3d: Get rid of most of the redundant query flushes.
...
This way we avoid queueing up CS packets on each
wined3d_query_get_data() call, which has been seen in some degenerate
cases to starve other client threads that are trying to submit actual
work into the CS (sort-of a livelock).
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 18:42:35 +02:00
Matteo Bruni
6b98d3ebf1
wined3d: Restore support for d3d9 extension formats.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 18:42:33 +02:00
Matteo Bruni
a55d384264
wined3d: Don't take the upload path for blits to formats requiring conversion.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 17:31:00 +02:00
Matteo Bruni
c50090cb6e
wined3d: Return the up-to-date locations from blitters.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-06 17:31:00 +02:00
Józef Kucia
b202586ee9
wined3d: Avoid potential NULL pointer dereference (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>
2017-08-31 18:55:11 +02:00
Stefan Dösinger
55eee0b9f1
wined3d: Do not call queue_is_empty in wined3d_cs_mt_finish.
...
Without an explicit volatile, aarch64 gcc will copy queue->tail into a
register outside the loop and then continuously compare two registers
against each other. The *(volatile LONG *)& forces gcc to re-read the
memory every iteration. Therefore, queue_is_empty as it is written will
only work from the CS thread.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 14:38:17 +02:00
Stefan Dösinger
183ca56e11
wined3d: Avoid writing queue->head in the CS thread.
...
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 14:38:15 +02:00
Henri Verbeet
57c0d98d11
wined3d: Explicitly check for "Radeon" and "FirePro" in wined3d_guess_card_vendor().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:07:06 +09:00
Michael Müller
3fd68e5ba5
wined3d: Recognize SM4 nop opcode.
...
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-16 11:06:28 +09:00
Józef Kucia
3513a0c9e7
wined3d: Add support for append/consume structured buffer views.
...
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-16 11:06:22 +09:00
Józef Kucia
2f66f1288f
wined3d: Implement indirect compute dispatch.
...
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-16 11:06:07 +09:00
Robert Xiao
b2303d90af
wined3d: Reduce timeout to avoid GL_TIMEOUT_EXPIRED on macOS.
...
Signed-off-by: Robert Xiao <brx@cs.cmu.edu>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-16 11:04:12 +09:00
Józef Kucia
2100e140ca
wined3d: Change wined3d_buffer_copy() return type to void.
...
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:02:03 +09:00
Józef Kucia
e7f1559a8d
wined3d: Add support for initial UAV counters 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>
2017-08-08 20:02:01 +09:00
Józef Kucia
24c39103be
wined3d: Implement copying UAV counters.
...
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:54 +09: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
Henri Verbeet
f7e37715fa
wined3d: Use the context information in context_set_pixel_format().
...
Instead of passing it around.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 20:20:09 +02:00
Henri Verbeet
3441ba9e03
wined3d: Properly update the context when falling back to the backup window in context_set_gl_context().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 20:19:59 +02:00
Henri Verbeet
6a5c372541
wined3d: Only flush valid contexts in wined3d_cs_exec_flush().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-02 20:19:50 +02:00
Józef Kucia
0e2f75b2f6
wined3d: Update ARB_pipeline_statistics_query extension detection.
...
ARB_pipeline_statistics_query is included in OpenGL 4.6.
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-01 14:08:15 +02:00
Henri Verbeet
cc16e0d2de
wined3d: Validate vertex shader input signature register indices (AFL).
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 16:10:17 +02:00
Józef Kucia
a6d26527c6
wined3d: Implement forceEarlyDepthStencil shader global flag.
...
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-07-24 18:58:30 +02:00
Alexandre Julliard
548382e634
wined3d: Make sure we are still using the correct window before setting pixel format.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:33 +02:00
Józef Kucia
5151b80b2d
wined3d: Translate ld_{raw, structured} instructions more carefully.
...
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-07-18 20:43:33 +02:00
Józef Kucia
ffb72392b4
wined3d: Translate bfi, ubfe, ibfe instructions more carefully.
...
Makes sure that we do not overwrite source parameters for consecutive
GLSL function calls when the instruction is translated into multiple
lines.
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-07-18 20:43:33 +02:00
Henri Verbeet
56128d18d4
wined3d: Drop the special case for "converted" surfaces in wined3d_surface_blt().
...
We still want to avoid invalidating the system memory copy for these surfaces,
but we've become a lot better at preserving the current location for
resources, to the point that the special case actually hurts. In particular,
if the resource wasn't already current on the CPU, using the CPU blitter would
cause us to read it back, which is what we're trying to avoid.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
990be0ba50
wined3d: Avoid using the CPU blitter for clearing converted surfaces that aren't current on the CPU.
...
Since that would imply reading them back, with associated format conversion.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
92d030c41e
wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
a9a5f371ae
wined3d: Split combined render target and depth/stencil clears if needed in ffp_blitter_clear().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
b8e0af67f5
wined3d: Simplify the render target check in ffp_blitter_clear().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
95e42a8d19
wined3d: Handle WINED3D_POOL_SYSTEM_MEM resources in ffp_blitter_use_cpu_clear().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
864bef4c19
wined3d: Make a FIXME in cpu_blitter_clear() slightly more accurate.
...
The issue isn't so much stencil clears as clearing either depth or stencil on
formats that contain both.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:09 +02:00
Henri Verbeet
7578e09801
wined3d: Fix the WINED3DFMT_D24_UNORM_S8_UINT entry in wined3d_format_convert_from_float().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-14 10:52:06 +02:00
Józef Kucia
af80b7afdd
wined3d: Implement SM5 swapc 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>
2017-07-13 11:42:03 +02:00
Sebastian Lackner
c683372bca
wined3d: Return hr result in wined3d_event_query_create.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:42:01 +02:00
Józef Kucia
c45b908abc
wined3d: Introduce wined3d fence objects.
...
Use fences for the APPLESYNC codepath, and implement event queries
on top of fences.
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-07-10 20:51:10 +02:00
Józef Kucia
11c902ebc7
wined3d: Clean up buffer_sync_apple().
...
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-07-10 20:51:10 +02:00
Józef Kucia
0edb71a35f
wined3d: Avoid creating event queries manually.
...
Fixes a regression introduced by commit
be20ddc38b
.
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-07-10 20:51:10 +02:00
Sebastian Lackner
7fbdb54ee4
wined3d: Trigger frontbuffer update in surface_cpu_blt.
...
Fixes a regression introduced in ee17d7ba1b
.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 19:20:06 +02:00
Sebastian Lackner
a77d957da8
wined3d: Fix memory leaks in blitter_destroy callbacks.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 09:48:24 +02:00
Sebastian Lackner
6dd1ca28bf
wined3d: Create CPU blitter also for GDI render.
...
Fixes a regression introduced in cad4badbcf
.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 09:48:22 +02:00