From: Semenov Herman (Семенов Герман)GermanAizek@yandex.ru
--- dlls/d3dcompiler_43/compiler.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/d3dcompiler_43/compiler.c b/dlls/d3dcompiler_43/compiler.c index 6fffcfb82ab..0013cdafc13 100644 --- a/dlls/d3dcompiler_43/compiler.c +++ b/dlls/d3dcompiler_43/compiler.c @@ -79,7 +79,7 @@ static HRESULT WINAPI d3dcompiler_include_from_file_open(ID3DInclude *iface, D3D const char *filename, const void *parent_data, const void **data, UINT *bytes) { struct d3dcompiler_include_from_file *include = impl_from_ID3DInclude(iface); - char *fullpath, *buffer = NULL, current_dir[MAX_PATH + 1]; + char *fullpath, *buffer = NULL; const char *initial_dir; SIZE_T size; HANDLE file; @@ -93,6 +93,7 @@ static HRESULT WINAPI d3dcompiler_include_from_file_open(ID3DInclude *iface, D3D } else { + char current_dir[MAX_PATH + 1]; len = GetCurrentDirectoryA(MAX_PATH, current_dir); current_dir[len] = '\'; len++; @@ -289,7 +290,6 @@ static HRESULT assemble_shader(const char *preproc_shader, ID3DBlob **shader_blo uint32_t *res, size; ID3DBlob *buffer; HRESULT hr; - char *pos;
shader = SlAssembleShader(preproc_shader, &messages);
@@ -313,7 +313,7 @@ static HRESULT assemble_shader(const char *preproc_shader, ID3DBlob **shader_blo if (shader) SlDeleteShader(shader); return hr; } - pos = ID3D10Blob_GetBufferPointer(buffer); + char *pos = ID3D10Blob_GetBufferPointer(buffer); if (preproc_messages) { CopyMemory(pos, preproc_messages, strlen(preproc_messages) + 1); @@ -362,9 +362,7 @@ HRESULT WINAPI D3DAssemble(const void *data, SIZE_T datasize, const char *filena const D3D_SHADER_MACRO *defines, ID3DInclude *include, UINT flags, ID3DBlob **shader, ID3DBlob **error_messages) { - unsigned int preproc_size; ID3DBlob *preproc_shader; - char *preproc_terminated; HRESULT hr;
TRACE("data %p, datasize %Iu, filename %s, defines %p, include %p, sflags %#x, " @@ -382,7 +380,8 @@ HRESULT WINAPI D3DAssemble(const void *data, SIZE_T datasize, const char *filena hr = preprocess_shader(data, datasize, filename, defines, include, &preproc_shader, error_messages); if (SUCCEEDED(hr)) { - preproc_size = ID3D10Blob_GetBufferSize(preproc_shader); + unsigned int preproc_size = ID3D10Blob_GetBufferSize(preproc_shader); + char *preproc_terminated; if ((preproc_terminated = malloc(preproc_size + 1))) { memcpy(preproc_terminated, ID3D10Blob_GetBufferPointer(preproc_shader), preproc_size); @@ -461,7 +460,6 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen struct vkd3d_shader_compile_info compile_info; struct vkd3d_shader_compile_option *option; struct vkd3d_shader_code byte_code; - const D3D_SHADER_MACRO *macro; char *messages; HRESULT hr; int ret; @@ -516,7 +514,7 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen preprocess_info.macro_count = 0; if (macros) { - for (macro = macros; macro->Name; ++macro) + for (const D3D_SHADER_MACRO *macro = macros; macro->Name; ++macro) ++preprocess_info.macro_count; } preprocess_info.pfn_open_include = open_include;