Module: wine Branch: master Commit: 0362b418fcda520a724ab888c65b4d432547502a URL: http://source.winehq.org/git/wine.git/?a=commit;h=0362b418fcda520a724ab888c6...
Author: Józef Kucia jkucia@codeweavers.com Date: Wed Mar 22 09:40:55 2017 +0100
d3d11: Make extracting input signature more robust.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/d3d11/inputlayout.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/d3d11/inputlayout.c b/dlls/d3d11/inputlayout.c index 620e663..3d7135a 100644 --- a/dlls/d3d11/inputlayout.c +++ b/dlls/d3d11/inputlayout.c @@ -31,6 +31,11 @@ static HRESULT isgn_handler(const char *data, DWORD data_size, DWORD tag, void * if (tag != TAG_ISGN) return S_OK;
+ if (is->elements) + { + FIXME("Multiple input signatures.\n"); + shader_free_signature(is); + } return shader_parse_signature(data, data_size, is); }
@@ -42,6 +47,7 @@ static HRESULT d3d11_input_layout_to_wined3d_declaration(const D3D11_INPUT_ELEME unsigned int i; HRESULT hr;
+ memset(&is, 0, sizeof(is)); if (FAILED(hr = parse_dxbc(shader_byte_code, shader_byte_code_length, isgn_handler, &is))) { ERR("Failed to parse input signature.\n");