Commit graph

379 commits

Author SHA1 Message Date
Nikolay Sivov 68ab4c4849 d3d10/effect: Clarify constant buffer flags field meaning.
It makes more sense to have it matching fx_5_0 format, which
uses the same flag for TBUFFER case, and also keeps 'single' modifier in there.
This modifier is ignored on fx_4_x, so it's only needed to be implemented
in the compiler.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-02-01 22:14:19 +01:00
Nikolay Sivov 3724385c86 d3d10/effect: Use bitfields for numeric type descriptions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-01-26 17:54:33 +01:00
Alex Henrie beb1805ca0 d3d10: Use debugstr_fourcc instead of debugstr_an. 2023-10-17 20:18:17 +02:00
Nikolay Sivov 41ab207c71 d3d10/effect: Add support for shift instructions. 2023-10-05 18:49:50 +02:00
Nikolay Sivov fcfe297211 d3d10/effect: Add support for 'or' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:08 +02:00
Nikolay Sivov 42a57b3e70 d3d10/effect: Add support for 'not' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:06 +02:00
Nikolay Sivov 2055f7e20b d3d10/effect: Add support for 'exp' instruction. 2023-10-04 18:16:05 +02:00
Nikolay Sivov 347ed9a82b d3d10/effect: Add support for 'log' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:04 +02:00
Nikolay Sivov 03e17a3572 d3d10/effect: Add support for 'rsq' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:02 +02:00
Nikolay Sivov f72bb1f687 d3d10/effect: Add support for 'sqrt' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:16:01 +02:00
Nikolay Sivov 03c7038713 d3d10/effect: Add support for 'imul' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-04 18:15:58 +02:00
Nikolay Sivov 488398982c d3d10/effect: Add support for 'dot' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:39 +02:00
Nikolay Sivov dc91367dcf d3d10/effect: Add support for 'floor' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:38 +02:00
Nikolay Sivov 2861ce933b d3d10/effect: Add support for 'ceil' instruction.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:36 +02:00
Nikolay Sivov fdc0f37714 d3d10/effect: Add support for 'buge'/'bult' instructions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-03 09:24:34 +02:00
Nikolay Sivov 6ce99d16a6 d3d10/effect: Add signed integer compare instructions for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-22 10:38:31 +02:00
Nikolay Sivov d49a6ab0de d3d10/effect: Implement instructions used for signed integer division.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-22 10:38:29 +02:00
Nikolay Sivov 0fac6c11f2 d3d10/effect: Implement 'mov' opcode for expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-09-18 11:02:00 +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
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
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 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
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