From 6ef3324fd85853c451bb4b37bc7013805f39e2a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
Date: Fri, 12 Feb 2016 01:27:44 +0100
Subject: [PATCH] d3d11: Extract SM5 shader code from DXBC.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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/d3d11_private.h | 1 +
 dlls/d3d11/shader.c        | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/dlls/d3d11/d3d11_private.h b/dlls/d3d11/d3d11_private.h
index 873e17d46d1..9d5fd8f8bd1 100644
--- a/dlls/d3d11/d3d11_private.h
+++ b/dlls/d3d11/d3d11_private.h
@@ -44,6 +44,7 @@
 #define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N')
 #define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
 #define TAG_SHDR MAKE_TAG('S', 'H', 'D', 'R')
+#define TAG_SHEX MAKE_TAG('S', 'H', 'E', 'X')
 
 struct d3d_device;
 
diff --git a/dlls/d3d11/shader.c b/dlls/d3d11/shader.c
index fb4c15c0ff7..0e277fc9891 100644
--- a/dlls/d3d11/shader.c
+++ b/dlls/d3d11/shader.c
@@ -42,6 +42,8 @@ static HRESULT shdr_handler(const char *data, DWORD data_size, DWORD tag, void *
             break;
 
         case TAG_SHDR:
+        case TAG_SHEX:
+            if (shader_info->shader_code) FIXME("Multiple SHDR/SHEX chunks.\n");
             shader_info->shader_code = (const DWORD *)data;
             break;
 
-- 
GitLab