Commit cdfdfe59 authored by Rico Schüller's avatar Rico Schüller Committed by Alexandre Julliard

d3dcompiler: Add D3D_BLOB_XNA_PREPASS_SHADER to D3DGetBlobPart().

parent 976b4e96
...@@ -153,6 +153,10 @@ static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part) ...@@ -153,6 +153,10 @@ static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
if (tag == TAG_Aon9) add = TRUE; if (tag == TAG_Aon9) add = TRUE;
break; break;
case D3D_BLOB_XNA_PREPASS_SHADER:
if (tag == TAG_XNAP) add = TRUE;
break;
default: default:
FIXME("Unhandled D3D_BLOB_PART %s.\n", debug_d3dcompiler_d3d_blob_part(part)); FIXME("Unhandled D3D_BLOB_PART %s.\n", debug_d3dcompiler_d3d_blob_part(part));
break; break;
...@@ -223,6 +227,7 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P ...@@ -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_PATCH_CONSTANT_SIGNATURE_BLOB:
case D3D_BLOB_DEBUG_INFO: case D3D_BLOB_DEBUG_INFO:
case D3D_BLOB_LEGACY_SHADER: case D3D_BLOB_LEGACY_SHADER:
case D3D_BLOB_XNA_PREPASS_SHADER:
if (count != 1) count = 0; if (count != 1) count = 0;
break; break;
...@@ -248,7 +253,7 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P ...@@ -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 */ /* 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); hr = D3DCreateBlob(dst_dxbc.sections[0].data_size, blob);
if (SUCCEEDED(hr)) if (SUCCEEDED(hr))
......
...@@ -586,6 +586,7 @@ void SlDeleteShader(struct bwriter_shader *shader); ...@@ -586,6 +586,7 @@ void SlDeleteShader(struct bwriter_shader *shader);
#define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N') #define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
#define TAG_PCSG MAKE_TAG('P', 'C', 'S', 'G') #define TAG_PCSG MAKE_TAG('P', 'C', 'S', 'G')
#define TAG_SDBG MAKE_TAG('S', 'D', 'B', 'G') #define TAG_SDBG MAKE_TAG('S', 'D', 'B', 'G')
#define TAG_XNAP MAKE_TAG('X', 'N', 'A', 'P')
struct dxbc_section struct dxbc_section
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment