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>
This commit is contained in:
Nikolay Sivov 2021-09-01 16:04:30 +03:00 committed by Alexandre Julliard
parent 75d21c999e
commit ff32b78e78
3 changed files with 5 additions and 2 deletions

View file

@ -118,6 +118,7 @@ struct d3d10_effect_shader_variable
unsigned int resource_count;
struct d3d10_effect_shader_resource *resources;
char *stream_output_declaration;
unsigned int isinline : 1;
};
struct d3d10_effect_state_object_variable

View file

@ -1409,6 +1409,7 @@ static HRESULT parse_fx10_anonymous_shader(struct d3d10_effect *e, struct d3d10_
v->type = t;
v->effect = e;
v->u.shader.isinline = 1;
set_variable_vtbl(v);
if (!copy_name("$Anonymous", &v->name))
@ -7008,7 +7009,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetShaderDesc(
D3D10_SHADER_DESC shader_desc;
HRESULT hr;
FIXME("iface %p, index %u, desc %p semi-stub.\n", iface, index, desc);
TRACE("iface %p, index %u, desc %p.\n", iface, index, desc);
if (FAILED(hr = d3d10_get_shader_variable(v, index, &s)))
return hr;
@ -7017,6 +7018,7 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetShaderDesc(
if (s->input_signature)
desc->pInputSignature = ID3D10Blob_GetBufferPointer(s->input_signature);
desc->SODecl = s->stream_output_declaration;
desc->IsInline = s->isinline;
if (s->bytecode)
{
desc->pBytecode = ID3D10Blob_GetBufferPointer(s->bytecode);

View file

@ -3671,8 +3671,8 @@ if (0)
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
hr = pdesc.pShaderVariable->lpVtbl->GetShaderDesc(pdesc.pShaderVariable, 0, &shaderdesc);
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
todo_wine {
ok(shaderdesc.IsInline, "Unexpected inline flag.\n");
todo_wine {
ok(shaderdesc.SODecl && !strcmp(shaderdesc.SODecl, "SV_POSITION.y"), "Unexpected stream output declaration %s.\n",
shaderdesc.SODecl);
}