Commit Graph

275 Commits

Author SHA1 Message Date
Nikolay Sivov 955071291c d3d10/effect: Handle NULL initializer for SamplerState.Texture field.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Nikolay Sivov 42a6c1f705 d3d10/effect: Extend sampler backing store with a texture field.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Nikolay Sivov 9b88064a18 d3d10/effect: Access pool effect structure directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:31:47 +02:00
Nikolay Sivov a1d44ca2ad d3d10/effect: Rename known and used field in type descriptor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:03:44 +02:00
Nikolay Sivov bd2abd84aa d3d10/effect: Make it clear that buffers are always set one by one.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:03:39 +02:00
Nikolay Sivov 4ded5f4293 d3d10/effect: Remove fixme from D3D10CreateEffectFromMemory().
It's definitely not complete, but it's not a stub.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 11:03:35 +02:00
Nikolay Sivov 9a9468ccc0 d3d10/effect: Remove a bit of a dead code for semantic handling, for anonymous shader 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>
2021-10-02 00:41:28 +02:00
Nikolay Sivov 0182f1f848 d3d10/effect: Make it clear which assignment types are supported in state groups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-02 00:41:25 +02:00
Nikolay Sivov 74d8129fc6 d3d10/effect: Use separate enum to describe property container.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-02 00:41:23 +02:00
Nikolay Sivov 8a04f2eb15 d3d10/effect: Reduce duplication in state and shader object release helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-02 00:41:20 +02:00
Nikolay Sivov ea24e203da d3d10/effect: Set corresponding flag for pooled 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>
2021-10-02 00:41:14 +02:00
Nikolay Sivov d11195067f d3d10/effect: Fix handling samplers array binding.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-02 00:41:11 +02:00
Nikolay Sivov c716aa4802 d3d10/effect: Go through both local and shared variables when looking for shader resources.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-30 21:25:09 +02:00
Nikolay Sivov 7fe8e49f33 d3d10/effect: Go through both local and shared buffers when looking for shader resources.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-30 21:25:06 +02:00
Nikolay Sivov f96499af6a d3d10/effect: Handle D3D10_SVT_UINT when reading float constants.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Nikolay Sivov 2cc6b3092d d3d10/effect: Implement IsOptimized().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Nikolay Sivov 099aa57f23 d3d10/effect: Validate shared constant buffer types against the pool.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Nikolay Sivov 3d1e7b0ed8 d3d10/effect: Validate shared object types against the pool.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Nikolay Sivov f3f2fec52d d3d10/effect: Forward to pool effect in GetConstantBufferByName().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:21:06 +02:00
Nikolay Sivov fab2d7d8a3 d3d10/effect: Forward to pool effect in GetConstantBufferByIndex().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:21:04 +02:00
Nikolay Sivov 19517f8685 d3d10/effect: Forward to pool effect in GetVariableBySemantic().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:21:01 +02:00
Nikolay Sivov d3b18bea30 d3d10/effect: Forward to pool effect in GetVariableByIndex().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:20:59 +02:00
Nikolay Sivov 23c6e537c2 d3d10/effect: Forward to pool effect in GetVariableByName().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:20:56 +02:00
Nikolay Sivov 5e5a97cf7f d3d10/effect: Reference pool in the child effect.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 11:11:06 +02:00
Nikolay Sivov de49664d06 d3d10/effect: Validate flags vs pool instance when creating child effects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 11:11:03 +02:00
Nikolay Sivov b6f4284bb1 d3d10/effect: Add a helper to parse annotations array.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 11:11:00 +02:00
Nikolay Sivov cec812d861 d3d10/effect: Partially implement D3D10CreateEffectPoolFromMemory().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 11:10:56 +02:00
Nikolay Sivov d6359f0bba d3d10/effect: Move effect creation API functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 11:10:52 +02:00
Nikolay Sivov edf965389b d3d10/effect: Remove no longer used fourcc symbols.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Nikolay Sivov c00d42f4ba d3d10/effect: Release passes names on Optimize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Nikolay Sivov eb1f76caa6 d3d10/effect: Release technique names on Optimize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Nikolay Sivov d2d161d507 d3d10/effect: Handle object type D3D10_SVT_TEXTURE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Nikolay Sivov a57fd101b8 d3d10/effect: Fix d3d object creation for arrays of state objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 22:13:01 +02:00
Nikolay Sivov 0fe9cba341 d3d10/effect: Handle special $SKIP semantic in stream output declaration.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 22:12:59 +02:00
Nikolay Sivov bf1d4b5697 d3d10/effect: Handle rgba masks in stream output declarations.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 22:12:57 +02:00
Nikolay Sivov 78f4ce0b11 d3d10/effect: Use same field to return ExplicitBindPoint for all variable types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 22:12:54 +02:00
Nikolay Sivov 86194bff11 d3d10/effect: Set corresponding variable flag when explicit bind point is specified for a constant buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 22:12:52 +02:00
Nikolay Sivov e8843de0f9 d3d10/effect: Use case-insensitive comparison in GetMemberBySemantic().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Nikolay Sivov af20f75f7c d3d10/effect: Use case-insensitive comparison in GetMemberTypeBySemantic().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Nikolay Sivov a32a495012 d3d10/effect: Use case-insensitive comparison in GetVariableBySemantic().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Nikolay Sivov 3b074fa3be d3d10/effect: Fix indexing in GetGeometryShader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Nikolay Sivov 288428cc73 d3d10/effect: Fix indexing in GetPixelShader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Nikolay Sivov 293484af60 d3d10/effect: Fix indexing in GetVertexShader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:39 +02:00
Nikolay Sivov 0b3e2400aa d3d10/effect: Remove unnecessary early returns.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:39 +02:00
Nikolay Sivov 2327ae70ae d3d10/effect: Create shaders with stream output when declaration string is present.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:39 +02:00
Nikolay Sivov a3a2ae7d97 d3d10/effect: Store stream output declaration for inline shaders too.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:39 +02:00
Nikolay Sivov ff32b78e78 d3d10/effect: Set IsInline in GetShaderDesc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-02 21:57:39 +02:00
Nikolay Sivov 5071836f3e d3d10/effect: Support stream output declaration when creating geometry shaders.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:50:18 +02:00
Nikolay Sivov 87ac914e82 d3d10/effect: Discard some of the shader metadata when optimizing an effect.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:50:15 +02:00
Nikolay Sivov 87f099b7dc d3d10/effect: Store bytecode blob for every shader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:50:13 +02:00