d3d10/effect: Return full pass description from ID3D10EffectPass::GetDesc().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2021-08-12 10:33:54 +03:00 committed by Alexandre Julliard
parent 85ebf567ac
commit 671eabdf4f
2 changed files with 22 additions and 37 deletions

View File

@ -3562,7 +3562,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetDesc(ID3D10EffectPass *ifa
struct d3d10_effect_pass *pass = impl_from_ID3D10EffectPass(iface);
struct d3d10_effect_shader_variable *s;
FIXME("iface %p, desc %p partial stub!\n", iface, desc);
TRACE("iface %p, desc %p.\n", iface, desc);
if (pass == &null_pass)
{
@ -3578,9 +3578,8 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetDesc(ID3D10EffectPass *ifa
s = &impl_from_ID3D10EffectShaderVariable(pass->vs.pShaderVariable)->u.shader;
memset(desc, 0, sizeof(*desc));
desc->Name = pass->name;
desc->Annotations = pass->annotation_count;
desc->pIAInputSignature = (BYTE *)s->input_signature.signature;
desc->IAInputSignatureSize = s->input_signature.signature_size;
desc->StencilRef = pass->stencil_ref;

View File

@ -4200,44 +4200,30 @@ SamplerState sampler0 {};
technique10 tech0
{
pass pass0
<string a="text";>
{
}
};
#endif
static DWORD fx_test_state_group_defaults[] =
{
0x43425844, 0x920e6905, 0x58225fcd, 0x3b65b423,
0x67e96b6c, 0x00000001, 0x000001f4, 0x00000001,
0x00000024, 0x30315846, 0x000001c8, 0xfeff1001,
0x00000001, 0x00000000, 0x00000004, 0x00000000,
0x00000000, 0x00000000, 0x00000001, 0x000000ec,
0x00000000, 0x00000000, 0x00000001, 0x00000001,
0x00000001, 0x00000001, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x6f6c4724,
0x736c6162, 0x73615200, 0x69726574, 0x5372657a,
0x65746174, 0x00000d00, 0x00000200, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000400,
0x73617200, 0x74735f74, 0x00657461, 0x74706544,
0x65745368, 0x6c69636e, 0x74617453, 0x00440065,
0x00020000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00030000, 0x73640000, 0x6174735f,
0x42006574, 0x646e656c, 0x74617453, 0x007b0065,
0x00020000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00020000, 0x6c620000, 0x5f646e65,
0x74617473, 0x61530065, 0x656c706d, 0x61745372,
0xae006574, 0x02000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x15000000, 0x73000000,
0x6c706d61, 0x00307265, 0x68636574, 0x61700030,
0x00307373, 0x00000004, 0x00000000, 0x00000000,
0x00000000, 0xffffffff, 0x00000000, 0x00000039,
0x0000001d, 0x00000000, 0xffffffff, 0x00000000,
0x00000000, 0x00000072, 0x00000056, 0x00000000,
0xffffffff, 0x00000000, 0x00000000, 0x000000a2,
0x00000086, 0x00000000, 0xffffffff, 0x00000000,
0x00000000, 0x000000d7, 0x000000bb, 0x00000000,
0xffffffff, 0x00000000, 0x00000000, 0x000000e0,
0x00000001, 0x00000000, 0x000000e6, 0x00000000,
0x00000000,
0x43425844, 0xef2bd174, 0x123794f9, 0xbea23fa0, 0x953a31dd, 0x00000001, 0x00000209, 0x00000001,
0x00000024, 0x30315846, 0x000001dd, 0xfeff1001, 0x00000000, 0x00000000, 0x00000004, 0x00000000,
0x00000000, 0x00000000, 0x00000001, 0x0000010d, 0x00000000, 0x00000000, 0x00000001, 0x00000001,
0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x74736152,
0x7a697265, 0x74537265, 0x00657461, 0x00000004, 0x00000002, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000004, 0x74736172, 0x6174735f, 0x44006574, 0x68747065, 0x6e657453, 0x536c6963,
0x65746174, 0x00003b00, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000300,
0x5f736400, 0x74617473, 0x6c420065, 0x53646e65, 0x65746174, 0x00007200, 0x00000200, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000200, 0x656c6200, 0x735f646e, 0x65746174, 0x6d615300,
0x72656c70, 0x74617453, 0x00a50065, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00150000, 0x61730000, 0x656c706d, 0x74003072, 0x30686365, 0x73617000, 0x53003073, 0x6e697274,
0x00e30067, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x00610000,
0x74786574, 0x00003000, 0x00001400, 0x00000000, 0xffffff00, 0x000000ff, 0x00000000, 0x00006900,
0x00004d00, 0x00000000, 0xffffff00, 0x000000ff, 0x00000000, 0x00009900, 0x00007d00, 0x00000000,
0xffffff00, 0x000000ff, 0x00000000, 0x0000ce00, 0x0000b200, 0x00000000, 0xffffff00, 0x000000ff,
0x00000000, 0x0000d700, 0x00000100, 0x00000000, 0x0000dd00, 0x00000000, 0x00000100, 0x00010600,
0x0000ea00, 0x00010800, 0x00000000,
};
static void test_effect_state_group_defaults(void)
@ -4272,7 +4258,7 @@ static void test_effect_state_group_defaults(void)
hr = effect->lpVtbl->GetDesc(effect, &effect_desc);
ok(SUCCEEDED(hr), "Failed to get effect description, hr %#x.\n", hr);
ok(!effect_desc.IsChildEffect, "Unexpected IsChildEffect.\n");
ok(effect_desc.ConstantBuffers == 1, "Unexpected constant buffers count %u.\n",
ok(effect_desc.ConstantBuffers == 0, "Unexpected constant buffers count %u.\n",
effect_desc.ConstantBuffers);
ok(effect_desc.SharedConstantBuffers == 0, "Unexpected shared constant buffers count %u.\n",
effect_desc.SharedConstantBuffers);
@ -4373,7 +4359,7 @@ static void test_effect_state_group_defaults(void)
hr = pass->lpVtbl->GetDesc(pass, &pass_desc);
ok(SUCCEEDED(hr), "Failed to get pass desc, hr %#x.\n", hr);
ok(!strcmp(pass_desc.Name, "pass0"), "Got unexpected Name \"%s\".\n", pass_desc.Name);
ok(!pass_desc.Annotations, "Got unexpected Annotations %#x.\n", pass_desc.Annotations);
ok(pass_desc.Annotations == 1, "Got unexpected Annotations %u.\n", pass_desc.Annotations);
ok(!pass_desc.pIAInputSignature, "Got unexpected pIAInputSignature %p.\n", pass_desc.pIAInputSignature);
ok(pass_desc.StencilRef == 0, "Got unexpected StencilRef %#x.\n", pass_desc.StencilRef);
ok(pass_desc.SampleMask == 0, "Got unexpected SampleMask %#x.\n", pass_desc.SampleMask);