Nikolay Sivov : d3d10/effect: Set IsInline in GetShaderDesc().
Alexandre Julliard
julliard at winehq.org
Thu Sep 2 15:45:31 CDT 2021
Module: wine
Branch: master
Commit: ff32b78e780494172acbe4df27a0cfe787278432
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ff32b78e780494172acbe4df27a0cfe787278432
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed Sep 1 16:04:30 2021 +0300
d3d10/effect: Set IsInline in GetShaderDesc().
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/d3d10/d3d10_private.h | 1 +
dlls/d3d10/effect.c | 4 +++-
dlls/d3d10/tests/effect.c | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d10/d3d10_private.h b/dlls/d3d10/d3d10_private.h
index 64c445ec07a..4d73121d6ca 100644
--- a/dlls/d3d10/d3d10_private.h
+++ b/dlls/d3d10/d3d10_private.h
@@ -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
diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
index 81745f7f239..d521684f788 100644
--- a/dlls/d3d10/effect.c
+++ b/dlls/d3d10/effect.c
@@ -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);
diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c
index 70bcf1ea72b..f59686c26a3 100644
--- a/dlls/d3d10/tests/effect.c
+++ b/dlls/d3d10/tests/effect.c
@@ -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);
}
More information about the wine-cvs
mailing list