Commit Graph

1653 Commits

Author SHA1 Message Date
Henri Verbeet e091c6e81c wined3d: Only translate coordinates for swapchain surfaces in surface_translate_drawable_coords().
This fixes a regression introduced by commit
dbd8c89ea8. When using ORM_BACKBUFFER,
off-screen surfaces may be loaded into WINED3D_LOCATION_DRAWABLE. They
shouldn't be flipped in that case.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Henri Verbeet d371468858 wined3d: Allow (some) blits with fixups in the arbfp and ffp blitters with ORM_BACKBUFFER.
When using ORM_BACKBUFFER, formats with fixups may need to be loaded into
WINED3D_LOCATION_DRAWABLE. Before commit
cad4badbcf, surface_load_drawable() would always
use the device blitter, without checking whether the blitter actually supports
the blit. The FBO blitter would be able to handle these blits, but is
unavailable when using ORM_BACKBUFFER.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:08 +02:00
Matteo Bruni 1ed54d6ce3 wined3d: Release context on CPU blit failure.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-08 10:10:40 -05:00
Henri Verbeet 2f0b945235 wined3d: Use the CPU blitter for clearing depth/stencil textures that are current in the map binding.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Henri Verbeet aa199aca5c wined3d: Print a FIXME if the view format doesn't match the resource format in surface_cpu_blt_colour_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 15:38:48 +02:00
Henri Verbeet 5ff2fdc452 wined3d: Make blits asynchronous by default.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 08:44:54 +02:00
Henri Verbeet 62ca4f3826 wined3d: Introduce context functions to map/unmap a wined3d_bo_address.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 10:53:53 +02:00
Henri Verbeet da321cebf7 wined3d: Use wined3d_texture_get_memory() in surface_cpu_blt_colour_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:30 +02:00
Henri Verbeet ee17d7ba1b wined3d: Use wined3d_texture_get_memory() in surface_cpu_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:28 +02:00
Henri Verbeet b7140a212d wined3d: Use the CPU blitter for clearing textures that are current in the map binding.
In order to avoid bouncing them between the CPU and GPU. This fixes a
regression instroduced by commit 381cd03eb3.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 09:51:22 +02:00
Henri Verbeet 5a9a2b4cce wined3d: Use wined3d_texture_get_memory() in surface_convert_format().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:14 +02:00
Henri Verbeet b7146d81f2 wined3d: Do not add wined3d internal resources to the device resource list.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:01 +02:00
Henri Verbeet ecbc1cb623 wined3d: Use the "arbfp" blitter for P8 and YUV blits.
This fixes a regression introduced by commit
cad4badbcf. In particular, before that commit,
surface_load_drawable() would always use the device blitter, without checking
whether that blitter claims to support the blit in question. As it turns out,
the FBO blitter claims to support them, and the arbfp blitter claims not to
support them.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:08:57 +02:00
Henri Verbeet 1b034f7fdb wined3d: The source texture is always non-NULL in surface_cpu_blt().
Since fills no longer go through the blitter.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:32 +02:00
Henri Verbeet 3e36857557 wined3d: The destination width and height are always valid in surface_cpu_blt().
Since they have been validated by the caller.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 09:46:29 +02:00
Henri Verbeet 2310378042 wined3d: Require a valid source rectangle in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:58 +02:00
Henri Verbeet f243302ed5 wined3d: Require a valid destination point in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:56 +02:00
Henri Verbeet c1ebab1a4b wined3d: Unify the 2D and 3D paths in wined3d_device_update_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:58:52 +02:00
Henri Verbeet 26d7f99125 wined3d: Assume identical source and destination formats in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:38 +02:00
Henri Verbeet c2c1ffe416 wined3d: Handle formats with conversions outside surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 11:37:30 +02:00
Henri Verbeet ecf1bbd525 wined3d: Get rid of surface_get_rect().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:26 +02:00
Józef Kucia 26b7baa0dd wined3d: Store render target info instead of surfaces in "blit_targets".
In preparation for extending render target views support.

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-04-06 12:43:19 +02:00
Henri Verbeet b98ece0d38 wined3d: Use the blitter interface in wined3d_cs_exec_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:30 +02:00
Henri Verbeet 52979b6b29 wined3d: Pass the draw rectangle to wined3d_blitter_ops.blitter_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:28 +02:00
Henri Verbeet d8f9b6b7f7 wined3d: Pass a wined3d_fb_state structure to wined3d_blitter_ops.blitter_clear().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:26 +02:00
Henri Verbeet ce5b25b8bc wined3d: Reduce indentation in the colour blit case in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:23 +02:00
Henri Verbeet cad4badbcf wined3d: Get rid of wined3d_select_blitter().
Instead, chain the blitters themselves. This also fixes the issue that
currently only a single blitter can store extra data in the "blit_priv" field
of struct wined3d_device.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 09:42:21 +02:00
Henri Verbeet f2459e5527 wined3d: Implement cpu_blit_blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:05 +02:00
Henri Verbeet 5e40695310 wined3d: Use resource.map_binding as destination location for blits to WINED3D_POOL_SYSTEM_MEM textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Henri Verbeet 03e85bf991 wined3d: Merge wined3d_blitter_ops.color_fill() and wined3d_blitter_ops.depth_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Henri Verbeet 4b4091fa62 wined3d: Make the FBO blitter a proper blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 08:51:29 +02:00
Henri Verbeet 493502b54b wined3d: Pass a wined3d_rendertarget_view to surface_cpu_blt_colour_fill().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:02:04 +02:00
Henri Verbeet e19e15d317 wined3d: Remove WINED3D_BLT_DEPTH_FILL support from wined3d_texture_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:02:02 +02:00
Henri Verbeet aec8015c3b wined3d: Remove WINED3D_BLT_COLOR_FILL support from wined3d_texture_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 09:01:59 +02:00
Henri Verbeet 4bb1565a54 wined3d: Introduce a separate function for doing colour fills in the CPU blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 08:46:30 +02:00
Henri Verbeet a6862f9170 wined3d: Rename struct blit_shader to struct wined3d_blitter_ops.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:58:01 +02:00
Henri Verbeet df6b402026 wined3d: Get rid of blit_shader.set_shader() and blit_shader.unset_shader().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 10:57:59 +02:00
Henri Verbeet dbd8c89ea8 wined3d: Pass the destination location to blit_shader.blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:08:00 +01:00
Henri Verbeet bedb40e5af wined3d: Properly handle back-buffers in surface_translate_drawable_coords().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:59 +01:00
Henri Verbeet 5ab99b1643 wined3d: Merge surface_blt_to_drawable() into surface_load_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:04 +01:00
Henri Verbeet cbede20ae8 wined3d: Use blit_shader.blit_surface() in surface_blt_to_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:01 +01:00
Henri Verbeet 8c9990157d wined3d: Get rid of the (now) redundant "alpha_test" parameter to surface_blt_to_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:51:48 +01:00
Henri Verbeet 07a6637d7e wined3d: Inline surface_blt_to_drawable() into ffp_blit_blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:51:46 +01:00
Henri Verbeet d85d977a35 wined3d: Modify resource locations in wined3d_surface_blt() instead of the blitters.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:38 +01:00
Henri Verbeet 717225bf9b wined3d: Pass a context to blit_shader.blit_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:34 +01:00
Henri Verbeet ad46b67674 wined3d: Create and destroy surface DCs through the CS.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 14:42:25 +01:00
Henri Verbeet 54c3f5c0bc wined3d: Validate blit parameters in wined3d_texture_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 09:00:54 +01:00
Henri Verbeet aaa431d8a8 wined3d: Use wined3d_texture_blt() in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 09:00:52 +01:00
Henri Verbeet c51537ba9f wined3d: Merge wined3d_texture_check_block_align() into wined3d_texture_check_box_dimensions().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:44:03 +01:00
Henri Verbeet d118788917 wined3d: Check rectangle alignment in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:44:01 +01:00
Henri Verbeet f0b6873734 wined3d: Implement depth fills in the CPU blitter.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-24 09:36:39 +01:00
Henri Verbeet cc65b90451 wined3d: Support uploading depth textures in surface_load_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-24 09:36:35 +01:00
Henri Verbeet 5895f77474 wined3d: Support downloading depth textures in surface_load_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-24 09:36:33 +01:00
Józef Kucia 80b17bef3b wined3d: Fix return type for surface_load_texture().
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-02-23 20:12:56 +01:00
Henri Verbeet 34a123631d wined3d: Merge surface_convert_depth_to_float() into wined3d_format_convert_color_to_float().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 11:31:56 +01:00
Henri Verbeet 49a1b7b540 wined3d: Check for depth/stencil surfaces in individual surface location loaders.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 11:31:54 +01:00
Henri Verbeet a315899dbf wined3d: Return a failure if the location couldn't be loaded in surface_load_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 11:31:52 +01:00
Henri Verbeet 8de7e5ccef wined3d: Return a BOOL from surface_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 11:31:50 +01:00
Henri Verbeet a7e5d4038c wined3d: Handle system memory copies in wined3d_texture_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-17 20:54:06 +01:00
Henri Verbeet 2641c5c28f wined3d: Pass a texture and sub-resource index to context_acquire().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 16:16:20 +01:00
Henri Verbeet 25188eb71f wined3d: Merge common code between texture3d_load_location() and surface_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 18:50:10 +01:00
Henri Verbeet 5a6efe6329 wined3d: Disallow upload conversion from compressed formats in surface_convert_format().
The underlying issue is that glCompressedTexSubImage2D() needs the upload
format to match the texture's internal format.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 17:02:53 +01:00
Henri Verbeet 807733f1c9 wined3d: Allow decompression blits on system memory resources in ffp_blit_supported().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 17:02:50 +01:00
Henri Verbeet 41738baea2 wined3d: Get rid of surface_modify_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:56:00 +01:00
Henri Verbeet 35e651caf1 wined3d: Get rid of the "ds_current_size" field from struct wined3d_surface.
This should be unused now that surface_load_ds_location() is gone.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:55:57 +01:00
Henri Verbeet 1bd56b6ca5 wined3d: Get rid of surface_load_ds_location().
This should be unused now that "AlwaysOffscreen" is gone.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:25:46 +01:00
Józef Kucia a02fd72965 wined3d: Use depth/stencil formats for typeless resources only when WINED3DUSAGE_DEPTHSTENCIL is set.
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>
2016-12-12 19:40:33 +01:00
Józef Kucia 5ee3f54438 wined3d: Use single structure for view description.
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>
2016-12-06 15:02:34 +01:00
Józef Kucia 4beb9e5922 wined3d: Move surface_get_drawable_size() to view.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>
2016-11-07 16:59:45 +01:00
Matteo Bruni 4382f9235b wined3d: Store blit quad texture coordinates in a struct wined3d_vec3 array.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 14:28:23 +02:00
Józef Kucia 26a9c3a4e6 wined3d: Call GL functions through gl_info.gl_ops in ffp_blit_blit_surface().
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>
2016-10-10 21:10:49 +02:00
Henri Verbeet 09b09b307a wined3d: Use wined3d_format_calculate_pitch() in wined3d_surface_upload_data().
Mostly because wined3d_format_calculate_size() will need to handle
WINED3DFMT_FLAG_BROKEN_PITCH, but it also makes more sense conceptually.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:42 +09:00
Henri Verbeet 1402203759 wined3d: Use wined3d_texture_load_location() in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:03 -05:00
Henri Verbeet bdfee1574e wined3d: Use wined3d_texture_load_location() in surface_load_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:17 -05:00
Henri Verbeet 1091de5c61 wined3d: Use wined3d_texture_load_location() in surface_load_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:17 -05:00
Henri Verbeet df099ca72b wined3d: Use wined3d_texture_load_location() in surface_load_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:17 -05:00
Henri Verbeet 4119b907b5 wined3d: Use wined3d_texture_load_location() in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:16 -05:00
Henri Verbeet 2437c77ebd wined3d: Use wined3d_texture_load_location() in surface_blt_fbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:16 -05:00
Henri Verbeet 6c7eeeee32 wined3d: Use wined3d_texture_load_location() in surface_depth_blt_fbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 06:09:05 -05:00
Michael Stefaniuc 0d001e3e1c wined3d: Use SetRect() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 09:57:45 -05:00
Henri Verbeet 8ae3a9b624 wined3d: Introduce a helper function to allocate arrays.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Henri Verbeet 3e29f952f9 wined3d: NP2 emulation is not allowed on array textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:44 +09:00
Józef Kucia 8e56632234 wined3d: Use d3d_perf channel for performance warnings.
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>
2016-05-18 19:38:55 +09:00
Stefan Dösinger 3a72716556 wined3d: Use wined3d_texture_prepare_location() in wined3d_texture_update_desc().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:16 +09:00
Michael Stefaniuc 128e6b5975 wined3d: Use IsRectEmpty() instead of open coding it.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 12:12:22 +09:00
Stefan Dösinger fdd9a4cb92 wined3d: Use wined3d_texture_prepare_location() in surface_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:40:57 +09:00
Stefan Dösinger bf8feb8b51 wined3d: Use wined3d_texture_prepare_location() in surface_load_sysmem().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:40:54 +09:00
Józef Kucia 64da6b0526 wined3d: Implement creating 2D array 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>
2016-04-26 21:35:36 +09:00
Józef Kucia 64014ae3ed wined3d: Add "layer_count" parameter to wined3d_texture_create().
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>
2016-04-26 21:35:31 +09:00
Stefan Dösinger 02a664c093 wined3d: Use wined3d_texture_prepare_location() in surface_load_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:17 +09:00
Stefan Dösinger c22c9b401a wined3d: Use wined3d_texture_prepare_location() in surface_blt_fbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:17 +09:00
Stefan Dösinger b6b7e2379e wined3d: Use wined3d_texture_prepare_location() in surface_depth_blt_fbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:17 +09:00
Józef Kucia b5dad41e36 wined3d: Implement readback from 2D array textures using glGet[Compressed]TexImage().
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>
2016-04-22 21:19:44 +09:00
Henri Verbeet 82044bc919 wined3d: Return a failure code if creating the staging texture failed in surface_cpu_blt().
Note that we return immediately. The textures aren't mapped yet here, so we
shouldn't try to unmap them.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 12:22:37 +09:00
Henri Verbeet 17768e567b wined3d: No longer make sub-resources full resources.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 12:22:33 +09:00
Henri Verbeet 58a1796d83 wined3d: Don't enumerate sub-resources in wined3d_device_reset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 15:34:43 +09:00
Henri Verbeet 3b96ac290d wined3d: Allocate system memory for complete textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 14:09:39 +09:00
Henri Verbeet e6780a5e05 wined3d: Evict system memory for complete textures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 14:09:39 +09:00
Henri Verbeet 2066e1a962 wined3d: Implement surface_modify_ds_location() on top of the regular resource location management.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 14:09:39 +09:00
Henri Verbeet a077c1f669 wined3d: Avoid wined3d_resource_get_desc() on a surface in surface_convert_format().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 14:09:39 +09:00
Henri Verbeet 62a766f75c wined3d: Use the texture dimensions in swapchain_blit().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:38 +09:00
Henri Verbeet a4fa702488 wined3d: Use the texture dimension helpers in surface_load_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:34 +09:00
Henri Verbeet 2633f9bde3 wined3d: Use the texture dimension helpers in surface_depth_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:32 +09:00
Henri Verbeet 58f309b491 wined3d: Use the texture dimension helpers in fb_copy_to_texture_hwstretch().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:29 +09:00
Henri Verbeet 7be5ccb21e wined3d: Use the texture dimension helpers in surface_set_compatible_renderbuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:27 +09:00
Józef Kucia cffe58c75d wined3d: Merge codepaths in surface_download_data().
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>
2016-04-19 21:25:55 +09:00
Stefan Dösinger 1462f66d5d wined3d: Merge wined3d_surface_prepare() and wined3d_volume_prepare_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:17 +09:00
Henri Verbeet 9cdcc3e120 wined3d: Merge surface_unload() and volume_unload().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:07 +09:00
Henri Verbeet 16ff4e7cf6 wined3d: Track the map binding per-texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:05 +09:00
Henri Verbeet feb86895b4 wined3d: Store renderbuffer IDs in struct wined3d_texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:02 +09:00
Henri Verbeet fe0342e646 wined3d: Use the texture dimension helpers in surface_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:07:25 +09:00
Henri Verbeet 2f386e7e49 wined3d: Use the texture dimension helpers in draw_textured_quad().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:07:23 +09:00
Henri Verbeet 38d35c29ce wined3d: Use the texture dimension helpers in surface_get_drawable_size().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:07:21 +09:00
Henri Verbeet ecee205f6c wined3d: Check texture usage/pool/flags in texture_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:37 +09:00
Henri Verbeet 4896cda6c5 wined3d: Track SFLAG_DISCARD per-texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:32 +09:00
Henri Verbeet 82a7f1ebf2 wined3d: Implement texture DC creation on top of D3DKMTCreateDCFromMemory().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:25 +09:00
Henri Verbeet 1e0603eb58 wined3d: Store the power-of-two dimensions in the texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:13:43 +09:00
Henri Verbeet fca93ef017 wined3d: Avoid wined3d_texture_get_sub_resource() in surface_load_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:13:41 +09:00
Henri Verbeet 3a06ade1c4 wined3d: Use the texture dimension helpers in wined3d_surface_blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 12:03:32 +09:00
Henri Verbeet 8c30612d99 wined3d: Use the texture dimension helpers in surface_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 12:03:29 +09:00
Henri Verbeet c4f7bdcfdd wined3d: Use the texture dimension helpers in surface_load_renderbuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 12:03:27 +09:00
Stefan Dösinger e55754bf74 wined3d: Discard default pool surfaces on unload.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 11:36:15 +09:00
Henri Verbeet 2a2554ee59 wined3d: Store sub-resource map counts in the sub-resource structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 11:36:04 +09:00
Henri Verbeet 11db4d4a1d wined3d: Use the texture dimension helpers in surface_load_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 12:29:35 +09:00
Henri Verbeet 7c9ff85452 wined3d: Use the texture dimension helpers in surface_load_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 12:29:33 +09:00
Henri Verbeet 8c3b0aead5 wined3d: Use the texture dimension helpers in surface_blt_special().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 12:29:30 +09:00
Henri Verbeet 35fdf09643 wined3d: Use the texture dimension helpers in surface_translate_drawable_coords().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 12:29:28 +09:00
Henri Verbeet 81dae1c636 wined3d: Use the texture dimension helpers in fb_copy_to_texture_hwstretch().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 12:29:24 +09:00
Stefan Dösinger 7d23c8a4d8 wined3d: Get rid of wined3d_texture_ops.texture_sub_resource_load().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:57:39 +09:00
Henri Verbeet e510212626 wined3d: Use the texture dimension helpers in fb_copy_to_texture_direct().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:18 +09:00
Henri Verbeet f05febcb14 wined3d: Use the texture dimension helpers in surface_load_fb_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:16 +09:00
Henri Verbeet d5dd78a4ba wined3d: Use the texture dimension helpers in read_from_framebuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:14 +09:00
Henri Verbeet 4ef9f113c9 wined3d: Use the texture dimension helpers in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:12 +09:00
Henri Verbeet 7d3f493d55 wined3d: Use the texture dimension helpers in surface_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:09 +09:00
Henri Verbeet 4f3648705e wined3d: Avoid surface_from_resource() in surface_load_ds_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 12:52:29 +09:00
Henri Verbeet 425e84dac5 wined3d: Try harder to create a converted surface in surface_convert_format().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 12:52:15 +09:00
Henri Verbeet 29421729ef wined3d: Use the texture dimension helpers in surface_is_full_rect().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-04 13:12:55 +09:00
Henri Verbeet d496fbc1e4 wined3d: Use the texture dimension helpers in surface_create_dib_section().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-04 13:12:53 +09:00
Henri Verbeet a138460fc5 wined3d: Use the texture dimension helpers in surface_get_rect().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-04 13:12:50 +09:00
Stefan Dösinger a2c5afe61e wined3d: Introduce wined3d_texture_get_memory().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 12:48:41 +09:00
Stefan Dösinger 984934f685 wined3d: Introduce wined3d_texture_invalidate_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 10:40:07 +09:00
Stefan Dösinger 5a29cc8787 wined3d: Introduce wined3d_texture_validate_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:23 +09:00
Henri Verbeet 97f4034e58 wined3d: Get rid of the d3d_surface and d3d_texture debug channels.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:20 +09:00
Henri Verbeet d6e2f650d5 wined3d: Store the context's current rendertarget as a texture and sub-resource index.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:13 +09:00
Stefan Dösinger 5e27e6b5d8 wined3d: Store sub-resource locations in the sub-resource structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:31 +09:00
Henri Verbeet d8f2d0c7dd wined3d: Get resource info from the texture in surface_load_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:20 +09:00
Henri Verbeet 38f921a8a9 wined3d: Get resource info from the texture in surface_load_renderbuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:43:35 +09:00
Henri Verbeet d71699141b wined3d: Get resource info from the texture in surface_load_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:43:32 +09:00
Henri Verbeet fad52d7859 wined3d: Get resource info from the texture in surface_load_drawable().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:43:30 +09:00
Henri Verbeet 484f5f1ec5 wined3d: Get resource info from the texture in surface_copy_simple_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:43:28 +09:00