Commit Graph

7126 Commits

Author SHA1 Message Date
Stefan Dösinger 58719f60d5 wined3d: Introduce wined3d_texture_check_block_align().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-18 21:05:49 +09:00
Matteo Bruni 14d3dbbb7b wined3d: Add shader limits for SM5.
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-02-18 01:17:26 +09:00
Henri Verbeet 691086eac1 wined3d: Introduce wined3d_texture_get_sub_resource_parent().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:05:57 +09:00
Stefan Dösinger 4f909e980f wined3d: Store texture sub-resources as structures containing resource pointers.
The idea being that the resource pointer will eventually go away.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:05:50 +09:00
Henri Verbeet 273e4ae737 wined3d: Allocate the sub_resources array as part of the texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:05:48 +09:00
Ken Thomases 52a99f2ead wined3d: Change calls of GetDC() to GetDCEx() with DCX_CACHE so the HDC is not shared with other threads.
Windows created by the app may use the CS_CLASSDC or CS_OWNDC class styles.  In
that case, GetDC() would return the same HDC to all callers.  It's not safe,
though, for multiple threads to use the same HDC without synchronization.  The
app may be using that HDC from multiple threads and using some synchronization
scheme to make that safe, but wined3d is not able to cooperate in such a scheme.

Using GetDCEx() with DCX_CACHE ensures that wined3d gets an independent HDC.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 23:26:31 +09:00
Stefan Dösinger 1bb4b7ece7 wined3d: Remove the DIB extra line hack.
Our surface pitch alignment should take care of any writes past unaligned
widths.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:37 +09:00
Henri Verbeet c62fe153c6 wined3d: Use wined3d_texture_blt() in resolve_depth_buffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:37 +09:00
Henri Verbeet 9d7221b51d wined3d: Replace WINEDDBLTFX with a new structure that only includes the used fields.
It's a happy coincidence that none of the surface pointers are actually used.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:37 +09:00
Henri Verbeet 0b6b5176cc wined3d: Get rid of unused/unimplemented WINEDDBLT_* flags.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:37 +09:00
Henri Verbeet 47635a60a0 ddraw: Handle DDBLT_DDROPS in ddraw_surface7_Blt().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:36 +09:00
Henri Verbeet 05b84945d5 wined3d: Get rid of the unused _WINEDDOVERLAYFX structure.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:36 +09:00
Henri Verbeet e5719e9899 wined3d: Use a wined3d_string_buffer to dump the intermediate shader code.
Instead of abusing TRACE. There's probably still some room for improvement.
There may also be value in dumping things in a format that's compatible with
D3D shader assembly, but I don't think it's a priority.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-13 13:21:53 +09:00
Henri Verbeet 649d2dfb3b wined3d: Use FIELD_OFFSET to calculate the size in surface_create_dib_section().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-13 13:21:49 +09:00
Matteo Bruni 24d937b618 wined3d: Mark a couple of unimplemented relative addressing cases with FIXMEs.
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-02-12 23:07:29 +09:00
Matteo Bruni 1061969eb6 wined3d: Add WINED3DFMT_FLAG_RENDERTARGET to WINED3DFMT_B5G5R5X1_UNORM.
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-02-12 23:07:29 +09:00
Henri Verbeet 553149a049 wined3d: Ignore wined3d_sampler_desc.srgb_decode if WINED3D_SRGB_READ_WRITE_CONTROL is not set.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:28 +09:00
Henri Verbeet 3b5eca269d wined3d: Get rid of the surface parameter to wined3d_device_parent_ops.surface_created().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:28 +09:00
Henri Verbeet 6e5fa92299 ddraw: Use wined3d_texture_get_pitch() in ddraw_surface_init().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:28 +09:00
Henri Verbeet f8c858c375 wined3d: Use wined3d_texture_get_pitch() in surface_load_texture().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:28 +09:00
Henri Verbeet d393619092 wined3d: Use wined3d_texture_get_pitch() in read_from_framebuffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:28 +09:00
Józef Kucia 1098a673e6 wined3d: Move more formats to typed_formats table.
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-02-11 22:22:10 +09:00
Józef Kucia 0e9327b9f2 wined3d: Copy channel info for typed formats from typeless formats.
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-02-11 22:22:07 +09:00
Józef Kucia ab9f7d4ee6 wined3d: Use format id as index in formats table whenever 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>
2016-02-11 22:22:02 +09:00
Józef Kucia a5389a4315 wined3d: Rename getFmtIdx() to get_format_idx().
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-02-11 22:22:00 +09:00
Józef Kucia 8a5aabce9a wined3d: Introduce table with typed format channels.
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-02-11 22:21:57 +09:00
Henri Verbeet 4155c22e25 wined3d: Use wined3d_texture_get_pitch() in wined3d_surface_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:13:57 +09:00
Henri Verbeet bb385366a1 wined3d: Use wined3d_texture_get_pitch() in surface_upload_from_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:13:54 +09:00
Henri Verbeet ef040d71db wined3d: Use wined3d_texture_get_pitch() in surface_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:13:51 +09:00
Henri Verbeet fdecf9e452 wined3d: Use wined3d_texture_get_pitch() in surface_create_dib_section().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:13:49 +09:00
Henri Verbeet 7f69a34574 wined3d: Use wined3d_texture_get_pitch() in wined3d_volume_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:13:46 +09:00
Józef Kucia 9c98d63277 wined3d: Add remaining sRGB formats.
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-02-11 01:26:47 +09:00
Józef Kucia a8585c2d8d wined3d: Fix comment in init_format_texture_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>
2016-02-11 01:26:47 +09:00
Henri Verbeet 0706019a07 wined3d: Use wined3d_texture_get_pitch() in wined3d_volume_upload_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 13:45:31 +09:00
Henri Verbeet a945266d25 wined3d: Use wined3d_texture_get_pitch() in texture3d_sub_resource_upload_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 13:45:28 +09:00
Stefan Dösinger 65c04ce040 wined3d: Introduce wined3d_texture_get_pitch().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 13:45:25 +09:00
Henri Verbeet a95524b8f3 wined3d: Use wined3d_format_calculate_pitch() in surface_download_data().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 13:45:20 +09:00
Henri Verbeet a0beaa4006 wined3d: Handle slice pitch and alignment as well in wined3d_format_calculate_pitch().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-10 13:45:19 +09:00
Józef Kucia b8387e6909 wined3d: Extend support for typeless formats.
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-02-09 22:10:04 +09:00
Józef Kucia 30da671cf0 wined3d: Add support for WINED3DFMT_R32G32B32A32_SINT format.
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-02-09 22:10:00 +09:00
Józef Kucia ea6070b93f wined3d: Add support for WINED3DFMT_R32G32B32A32_UINT format.
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-02-09 22:09:58 +09:00
Józef Kucia ec45c894bc wined3d: Add support for WINED3DFMT_R16_UINT format.
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-02-09 22:09:55 +09:00
Riccardo Bortolato b278bb8f56 wined3d: Get rid of wined3d_device_get_surface_from_dc().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 12:19:39 +09:00
Henri Verbeet 195d16c826 wined3d: Store custom pitches in the texture instead of the surface.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 12:19:33 +09:00
Henri Verbeet 77088e3faa wined3d: Store the "user_memory" pointer in the texture instead of the surface.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 12:19:30 +09:00
Henri Verbeet 85ba92c33a wined3d: Get rid of wined3d_device_update_surface().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 12:19:27 +09:00
Henri Verbeet f0053d06c4 wined3d: Get rid of wined3d_surface_update_overlay_z_order().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 12:19:21 +09:00
Henri Verbeet 02008a6f2e wined3d: Introduce wined3d_texture_update_overlay().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 12:19:14 +09:00
Charles Davis 1b27aac1e2 wined3d: Fix transposed lines.
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 00:37:26 +09:00
Józef Kucia b7dcf112e9 wined3d: Allow to query if surface format supports gamma correction.
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-02-09 00:37:26 +09:00