Rico Schüller : d3dcompiler: Add D3D_BLOB_XNA_PREPASS_SHADER to D3DGetBlobPart().
Alexandre Julliard
julliard at winehq.org
Wed Oct 13 11:43:12 CDT 2010
Module: wine
Branch: master
Commit: cdfdfe59eea4d6701f71408474b0f99d3a80ac09
URL: http://source.winehq.org/git/wine.git/?a=commit;h=cdfdfe59eea4d6701f71408474b0f99d3a80ac09
Author: Rico Schüller <kgbricola at web.de>
Date: Tue Oct 12 19:24:59 2010 +0200
d3dcompiler: Add D3D_BLOB_XNA_PREPASS_SHADER to D3DGetBlobPart().
---
dlls/d3dcompiler_43/blob.c | 7 ++++++-
dlls/d3dcompiler_43/d3dcompiler_private.h | 1 +
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dcompiler_43/blob.c b/dlls/d3dcompiler_43/blob.c
index 4e30290..daa4d26 100644
--- a/dlls/d3dcompiler_43/blob.c
+++ b/dlls/d3dcompiler_43/blob.c
@@ -153,6 +153,10 @@ static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
if (tag == TAG_Aon9) add = TRUE;
break;
+ case D3D_BLOB_XNA_PREPASS_SHADER:
+ if (tag == TAG_XNAP) add = TRUE;
+ break;
+
default:
FIXME("Unhandled D3D_BLOB_PART %s.\n", debug_d3dcompiler_d3d_blob_part(part));
break;
@@ -223,6 +227,7 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P
case D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB:
case D3D_BLOB_DEBUG_INFO:
case D3D_BLOB_LEGACY_SHADER:
+ case D3D_BLOB_XNA_PREPASS_SHADER:
if (count != 1) count = 0;
break;
@@ -248,7 +253,7 @@ 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))
+ if (count == 1 && (part == D3D_BLOB_DEBUG_INFO || part == D3D_BLOB_LEGACY_SHADER || part == D3D_BLOB_XNA_PREPASS_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 a0d2893..8e31b2d 100644
--- a/dlls/d3dcompiler_43/d3dcompiler_private.h
+++ b/dlls/d3dcompiler_43/d3dcompiler_private.h
@@ -586,6 +586,7 @@ void SlDeleteShader(struct bwriter_shader *shader);
#define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
#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')
struct dxbc_section
{
More information about the wine-cvs
mailing list