Rico Schüller : d3dcompiler: Add D3D_BLOB_XNA_SHADER to D3DGetBlobPart().

Alexandre Julliard julliard at winehq.org
Wed Oct 13 11:43:12 CDT 2010


Module: wine
Branch: master
Commit: a36f51b1b26b147db8abc6c8ea6bb3802c3955fb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a36f51b1b26b147db8abc6c8ea6bb3802c3955fb

Author: Rico Schüller <kgbricola at web.de>
Date:   Tue Oct 12 19:25:02 2010 +0200

d3dcompiler: Add D3D_BLOB_XNA_SHADER to D3DGetBlobPart().

---

 dlls/d3dcompiler_43/blob.c                |    8 +++++++-
 dlls/d3dcompiler_43/d3dcompiler_private.h |    1 +
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dcompiler_43/blob.c b/dlls/d3dcompiler_43/blob.c
index daa4d26..dc0a65f 100644
--- a/dlls/d3dcompiler_43/blob.c
+++ b/dlls/d3dcompiler_43/blob.c
@@ -157,6 +157,10 @@ static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
             if (tag == TAG_XNAP) add = TRUE;
             break;
 
+        case D3D_BLOB_XNA_SHADER:
+            if (tag == TAG_XNAS) add = TRUE;
+            break;
+
         default:
             FIXME("Unhandled D3D_BLOB_PART %s.\n", debug_d3dcompiler_d3d_blob_part(part));
             break;
@@ -228,6 +232,7 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P
         case D3D_BLOB_DEBUG_INFO:
         case D3D_BLOB_LEGACY_SHADER:
         case D3D_BLOB_XNA_PREPASS_SHADER:
+        case D3D_BLOB_XNA_SHADER:
             if (count != 1) count = 0;
             break;
 
@@ -253,7 +258,8 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P
     }
 
     /* some parts aren't full DXBCs, they contain only the data */
-    if (count == 1 && (part == D3D_BLOB_DEBUG_INFO || part == D3D_BLOB_LEGACY_SHADER || part == D3D_BLOB_XNA_PREPASS_SHADER))
+    if (count == 1 && (part == D3D_BLOB_DEBUG_INFO || part == D3D_BLOB_LEGACY_SHADER || part == D3D_BLOB_XNA_PREPASS_SHADER
+            || part == D3D_BLOB_XNA_SHADER))
     {
         hr = D3DCreateBlob(dst_dxbc.sections[0].data_size, blob);
         if (SUCCEEDED(hr))
diff --git a/dlls/d3dcompiler_43/d3dcompiler_private.h b/dlls/d3dcompiler_43/d3dcompiler_private.h
index 8e31b2d..96dd166 100644
--- a/dlls/d3dcompiler_43/d3dcompiler_private.h
+++ b/dlls/d3dcompiler_43/d3dcompiler_private.h
@@ -587,6 +587,7 @@ void SlDeleteShader(struct bwriter_shader *shader);
 #define TAG_PCSG MAKE_TAG('P', 'C', 'S', 'G')
 #define TAG_SDBG MAKE_TAG('S', 'D', 'B', 'G')
 #define TAG_XNAP MAKE_TAG('X', 'N', 'A', 'P')
+#define TAG_XNAS MAKE_TAG('X', 'N', 'A', 'S')
 
 struct dxbc_section
 {




More information about the wine-cvs mailing list