Commit graph

639 commits

Author SHA1 Message Date
Jeff Smith 7febd8db5d d2d1/tests: Use compare_uint() in compare_float() instead of abs().
The result of abs(INT_MIN) is INT_MIN, which breaks the ulps comparison.
2023-08-08 12:00:01 +09:00
Nikolay Sivov e0ab89b856 d2d1: Keep effect shader objects at device level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-03 20:42:27 +09:00
Nikolay Sivov 9e4ee3e4e0 d2d1: Use device instance pointer in device context structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-03 20:42:27 +09:00
Nikolay Sivov cf2e1db7b5 d2d1/tests: Add some more tests for effect shader loading.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-08-03 20:42:27 +09:00
Alistair Leslie-Hughes 85a88076f8 d2d1: Remove DECLSPEC_HIDDEN usage. 2023-07-20 21:48:39 +02:00
Nikolay Sivov b62f3c881b d2d1: Improve resource properties check when creating a bitmap. 2023-05-26 21:24:14 +02:00
Nikolay Sivov df7e680cd2 d2d1: Create GDI-compatible swapchain only for corresponding target usage. 2023-05-23 14:43:12 +02:00
Nikolay Sivov 6526de5c5a d2d1: Improve GetDC()/ReleaseDC() handling on render targets. 2023-05-23 14:43:12 +02:00
Nikolay Sivov 981db8313f d2d1: Create GDI-compatible target bitmap for GDI-compatible target usage. 2023-05-23 14:43:12 +02:00
Nikolay Sivov 612020f952 d2d1/tests: Add some more tests for ID2D1GdiInteropRenderTarget. 2023-05-23 14:43:12 +02:00
Nikolay Sivov ae43a87d01 d2d1: Reject D2D1_ALPHA_MODE_STRAIGHT alpha mode for HWND targets. 2023-05-23 14:43:12 +02:00
Nikolay Sivov 02919e4298 d2d1/tests: Use test context for more tests. 2023-05-23 14:43:12 +02:00
Nikolay Sivov df50411fac d2d1: Implement IsSupported() for DC target. 2023-05-23 14:43:12 +02:00
Nikolay Sivov c9b68daf44 d2d1: Implement IsSupported() for HWND target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:13:21 -05:00
Zhiyi Zhang 4150d7282e d2d1/tests: Add some IsSupported() tests for HWND target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-17 07:13:21 -05:00
Michael Stefaniuc 3d8e7ea69f d2d1: Remove superfluous casts to self. 2023-05-10 17:08:48 +02:00
Zhiyi Zhang 066221a9f9 d2d1/tests: Fix memory leaks.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53995
2023-01-06 13:39:45 +01:00
Nikolay Sivov 5de27f63a1 d2d1/tests: Use d2d error code name for unsupported pixel format error code.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-17 09:58:18 +01:00
Nikolay Sivov a50dbd6c15 d2d1: Derive shared bitmap format from the source bitmap. 2022-11-17 09:58:18 +01:00
Nikolay Sivov 798d659f04 d2d1: Silently ignore non-default state block implementations.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53915
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-15 21:21:27 +01:00
Nikolay Sivov 384b0b35c3 d2d1/tests: Use correct flags constants with D3D11CreateDevice().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-10 22:00:35 +01:00
Zhiyi Zhang 225daac879 d2d1: Use D2D1_ALPHA_MODE_IGNORE if D2D1_ALPHA_MODE_UNKNOWN is used for creating hwnd render targets.
Also, alpha mode should not be overwritten with D2D1_ALPHA_MODE_IGNORE just because
DXGI_FORMAT_UNKNOWN is specified.
2022-11-07 21:13:31 +01:00
Zhiyi Zhang 1e4d311999 d2d1/tests: Add hwnd render target pixel format tests. 2022-11-07 21:13:31 +01:00
Vladislav Timonin 4e734f48eb d2d1: Implement ID2D1Device1::CreateDeviceContext. 2022-10-31 12:04:45 +01:00
Vladislav Timonin 34640a94b3 d2d1: Update to ID2D1Device1. 2022-10-31 12:04:43 +01:00
Nikolay Sivov e6069c2530 d2d1: Test device context type in BindDC().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-10-25 10:58:18 +02:00
Alexandre Julliard efa6b9f647 d2d1: Use a gcc pragma instead of a compiler flag for -fexcess-precision.
This will be needed to support building multiple architectures from
the same tree.
2022-10-14 18:03:25 +02:00
Alexandre Julliard 064edf1df4 d2d1/tests: Skip subsequent todo tests for unsupported properties.
This reduces the number of printed todos in order to stay within the 32kB limit.
2022-09-15 20:55:55 +02:00
Alexandre Julliard ff558c63ff d2d1/tests: Adjust geometry to make tests pass on all devices.
Fix suggested by Zebediah Figura.
2022-09-12 17:28:23 +02:00
Nikolay Sivov 2f3738b3a6 d2d1/commandlist: Implement layer commands.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-09 15:53:27 +02:00
Nikolay Sivov a52ba8d95a d2d1/commandlist: Implement DrawImage() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-09 15:53:25 +02:00
Nikolay Sivov 7cfe6d8f29 d2d1/commandlist: Implement FillOpacityMask() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-05 20:13:33 +02:00
Nikolay Sivov 4f1dfdad1d d2d1: Add parameter validation to FillOpacityMask().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-05 20:13:33 +02:00
Nikolay Sivov 2dc847b6ec d2d1: Remove warning message for glyph run description.
Every DrawTextLayout() call will produce this warning,
if there is any text to draw. Description is not required to draw a run,
and is safe to ignore.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-04 19:00:06 +02:00
Nikolay Sivov d418657e2c d2d1/commandlist: Fix primitive blend playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-04 19:00:00 +02:00
Nikolay Sivov 4674e05155 d2d1: Implement setting primitive blend mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-04 19:00:00 +02:00
Nikolay Sivov 3d54031236 d2d1/commandlist: Update text rendering params on DrawGlyphRun().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:49 +02:00
Nikolay Sivov 9a87e7dedd d2d1: Add a helper for DrawGlyphRun().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:49 +02:00
Nikolay Sivov 6722d3ad7f d2d1/commandlist: Implement FillMesh() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:47 +02:00
Nikolay Sivov da9eabd64d d2d1/commandlist: Implement DrawBitmap() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:46 +02:00
Nikolay Sivov 40e353a6a6 d2d1/commandlist: Implement DrawGlyphRun() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:44 +02:00
Nikolay Sivov c9d36114e6 d2d1/commandlist: Handle recording in RestoreDrawingState().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:43 +02:00
Nikolay Sivov 3aeff98f60 d2d1/commandlist: Implement SetTextRenderingParams() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:41 +02:00
Nikolay Sivov 0e9f8babaf d2d1/commandlist: Implement FillRectangle() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:40 +02:00
Nikolay Sivov 7441cd0c11 d2d1/commandlist: Implement FillGeometry() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:38 +02:00
Nikolay Sivov d1dafde4ed d2d1/commandlist: Implement DrawRectangle() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:37 +02:00
Nikolay Sivov 3ec96c9b80 d2d1/commandlist: Implement DrawGeometry() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:35 +02:00
Nikolay Sivov ffe196abd9 d2d1/commandlist: Implement DrawLine() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:33 +02:00
Nikolay Sivov ccfdeec3a1 d2d1/commandlist: Implement Clear() command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:32 +02:00
Nikolay Sivov eba21e7502 d2d1/commandlist: Implement clipping commands recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:07:30 +02:00