Commit graph

489 commits

Author SHA1 Message Date
Alistair Leslie-Hughes 0a2fca61ff d3d10: Remove DECLSPEC_HIDDEN usage. 2023-07-11 22:39:35 +02:00
Henri Verbeet 5ad68393ec d3d10: Implement parse_fx10_preshader() on top of vkd3d_shader_parse_dxbc(). 2023-04-24 16:33:03 +02:00
Henri Verbeet 93cc58d121 d3d10: Implement d3d10_effect_parse() on top of vkd3d_shader_parse_dxbc(). 2023-04-24 16:33:03 +02:00
Henri Verbeet 0c7313840c d3dcompiler: Use vkd3d_shader_serialize_dxbc() in d3dcompiler_get_blob_part(). 2023-04-18 10:18:48 +02:00
Henri Verbeet b8fe76a8b5 d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures. 2023-04-18 10:18:48 +02:00
Nikolay Sivov a98d9dd9e9 d3d10/tests: Add some tests for trigonometric functions. 2023-03-29 22:29:38 +02:00
Nikolay Sivov ec47f9855e d3d10/effect: Add support for 'iadd' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov a8c78c0e2d d3d10/effect: Add support for 'imin' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov 956541c9c8 d3d10/effect: Add support for umin/umax instructions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov 4700c17c61 d3d10/effect: Add support for asin/acos/atan instructions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov 8d00428e63 d3d10/effect: Handle division by zero in 'udiv'.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-03-29 22:29:38 +02:00
Nikolay Sivov a54f1726c6 d3d10/effect: Add support for 'movc' instruction. 2023-03-29 22:29:38 +02:00
Nikolay Sivov 19b799fd62 d3d10/effect: Add support for udiv instruction. 2023-03-20 17:11:25 +01:00
Nikolay Sivov c96c6b9826 d3d10/effect: Add support for imax instruction. 2023-03-20 17:11:24 +01:00
Nikolay Sivov 8e2412fcc3 d3d10/effect: Add support for ineg instruction. 2023-03-20 17:11:23 +01:00
Nikolay Sivov cbc2500638 d3d10/effect: Add support for itof instruction. 2023-03-20 17:11:21 +01:00
Nikolay Sivov 0fe562b4ae d3d10/effect: Add 'frc' instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-12-03 00:05:17 +01:00
Nikolay Sivov c336ce73a9 d3d10/effect: Add 'rcp' instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-12-03 00:05:17 +01:00
Nikolay Sivov 6cb65804a4 d3d10/effect: Add 'div' instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-12-03 00:05:17 +01:00
Nikolay Sivov 08e8f284f5 d3d10/effect: Add 'ftob' instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-12-03 00:05:17 +01:00
Nikolay Sivov 7448ecae49 d3d10/effect: Partially implement updates through value expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-12-03 00:05:17 +01:00
Nikolay Sivov 30c33c2f98 d3d10/effect: Add sin/cos instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-30 23:32:37 +01:00
Nikolay Sivov 8dcadad5c0 d3d10/effect: Add 'mul' instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-30 23:32:36 +01:00
Nikolay Sivov eb3e4b79ac d3d10/effect: Add 'neg' instruction support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-30 23:32:34 +01:00
Nikolay Sivov 854ecc773c d3d10/effect: Add min/max instructions support for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-30 23:32:33 +01:00
Nikolay Sivov 9a4f1bb229 d3d10/effect: Remove unused field from property description data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-11-30 23:32:31 +01:00
Ziqing Hui bd5cdef5dd d3d10: Handle invalid arguments for effect creation.
Passing NULL data to D3D10CreateEffectFromMemory crashes.
Passing NULL data to D3D10CreateEffectPoolFromMemory returns E_INVALIDARG.
2022-09-02 22:10:34 +02:00
Ziqing Hui 6c4f9ec527 d3d10/tests: Test NULL device for D3D10CreateEffectFromMemory and D3D10CreateEffectPoolFromMemory. 2022-09-02 22:10:34 +02:00
Nikolay Sivov b9a61cde89 d3d10: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-12 22:51:30 +02:00
Matteo Bruni a149fd4a56 d3dcompiler: Move skip_u32_unknown() declaration to utils.h.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:44:55 +01:00
Matteo Bruni 0587b0eb9c d3d10: Use read_u32() implementation from d3dcompiler.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:44:55 +01:00
Matteo Bruni b5d610ca37 d3d10: Use more consistent integer data types.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:44:55 +01:00
Matteo Bruni 812ab92877 d3d10: Get rid of a comment.
It's become more confusing than helpful I feel like.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:44:55 +01:00
Eric Pouech 96b08eaecb d3d10: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Henri Verbeet 2afd69d156 d3d10: Store the type fields in parse_fx10_type() as uint32_t.
In particular, d3d10_variable_type() takes an integer flags pointer.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Henri Verbeet ee01c2022f d3d10: Return the read value from read_dword().
This makes it consistent with d3dcompiler after commit
e6961f6e16.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Eric Pouech 7bba86db28 d3d10/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Nikolay Sivov 61d5e8fd1c d3d10/tests: Add a test with fx_4_1 binary.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 11:11:41 +01:00
Fabian Maurer e2d7f37814 d3d10/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:35 +01:00
Nikolay Sivov f0cb616fd9 d3d10/effect: Fix index access in GetBlendState().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 13:31:17 +01:00
Nikolay Sivov bf89b610d3 d3d10/effect: Fix index access in GetDepthStencilState().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 13:31:11 +01:00
Nikolay Sivov 2149beff79 d3d10/effect: Fix index access in GetRasterizerState().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 13:31:08 +01:00
Nikolay Sivov 9fc481c3e2 d3d10/effect: Fix index access in GetSampler().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 13:31:06 +01:00
Nikolay Sivov 3ec149232c d3d10/effect: Fix iteration in GetBackingStore() for rasterizer states.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 13:31:02 +01:00
Nikolay Sivov 5639edd26e d3d10/effect: Fix iteration in GetBackingStore() for depth stencil states.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 13:30:57 +01:00
Nikolay Sivov 50830170eb d3d10/effect: Fix iteration in GetBackingStore() for blend states.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:16:27 +01:00
Nikolay Sivov 1f7b3283aa d3d10/effect: Fix iteration in GetBackingStore() for sampler states.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:16:18 +01:00
Nikolay Sivov 2c665f79a7 d3d10/effect: Store state variables references in their own arrays.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:16:13 +01:00
Nikolay Sivov a6f027fe2c d3d10/effect: Add arrays for all state variables.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:16:08 +01:00