On Mon, Aug 23, 2021 at 10:23 AM Nikolay Sivov nsivov@codeweavers.com wrote:
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
dlls/d3d10/d3d10_private.h | 2 +- dlls/d3d10/effect.c | 54 ++++++++------------------------------ dlls/d3d10/tests/effect.c | 37 +++++++++++++++++++++++++- 3 files changed, 48 insertions(+), 45 deletions(-)
Nice. Just one thing, below.
diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index 9a217993e7e..df0d1a99ef4 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -23,6 +23,8 @@
#include <float.h>
+#define D3DERR_INVALIDCALL 0x8876086c
static ID3D10Device *create_device(void) { ID3D10Device *device; @@ -2796,8 +2798,9 @@ static void test_effect_local_shader(void) D3D10_EFFECT_TYPE_DESC typedesc; D3D10_EFFECT_DESC effect_desc; ID3D10EffectShaderVariable *null_shader, *null_anon_vs, *null_anon_ps, *null_anon_gs,
*p3_anon_vs, *p3_anon_ps, *p3_anon_gs, *p6_vs, *p6_ps, *p6_gs, *gs;
D3D10_EFFECT_SHADER_DESC shaderdesc;*p3_anon_vs, *p3_anon_ps, *p3_anon_gs, *p6_vs, *p6_ps, *p6_gs, *gs, *ps, *vs;
- D3D10_SIGNATURE_PARAMETER_DESC sign; ID3D10Device *device; ULONG refcount;
@@ -3648,6 +3651,38 @@ todo_wine shaderdesc.SODecl); }
- /* Output signature description */
- v = effect->lpVtbl->GetVariableByName(effect, "p");
- ps = v->lpVtbl->AsShader(v);
- hr = ps->lpVtbl->GetOutputSignatureElementDesc(ps, 0, 0, &sign);
+todo_wine
- ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
- if (SUCCEEDED(hr))
ok(!strcmp(sign.SemanticName, "SV_Target"), "Unexpected semantic %s.\n", sign.SemanticName);
It would be interesting to test what happens for GetOutputSignatureElementDesc(ps, 0, 1, &sign); (answer is apparently supposed to be "returning E_INVALIDARG", which seems reasonable)