d3dcompiler: Add D3D_BLOB_LEGACY_SHADER to D3DGetBlobPart().
This commit is contained in:
parent
7b5e05a99d
commit
976b4e96bd
|
@ -149,6 +149,10 @@ static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
|
||||||
if (tag == TAG_SDBG) add = TRUE;
|
if (tag == TAG_SDBG) add = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case D3D_BLOB_LEGACY_SHADER:
|
||||||
|
if (tag == TAG_Aon9) 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;
|
||||||
|
@ -218,6 +222,7 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P
|
||||||
case D3D_BLOB_OUTPUT_SIGNATURE_BLOB:
|
case D3D_BLOB_OUTPUT_SIGNATURE_BLOB:
|
||||||
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:
|
||||||
if (count != 1) count = 0;
|
if (count != 1) count = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -243,7 +248,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))
|
if (count == 1 && (part == D3D_BLOB_DEBUG_INFO || part == D3D_BLOB_LEGACY_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))
|
||||||
|
|
|
@ -580,6 +580,7 @@ void SlDeleteShader(struct bwriter_shader *shader);
|
||||||
#define MAKE_TAG(ch0, ch1, ch2, ch3) \
|
#define MAKE_TAG(ch0, ch1, ch2, ch3) \
|
||||||
((DWORD)(ch0) | ((DWORD)(ch1) << 8) | \
|
((DWORD)(ch0) | ((DWORD)(ch1) << 8) | \
|
||||||
((DWORD)(ch2) << 16) | ((DWORD)(ch3) << 24 ))
|
((DWORD)(ch2) << 16) | ((DWORD)(ch3) << 24 ))
|
||||||
|
#define TAG_Aon9 MAKE_TAG('A', 'o', 'n', '9')
|
||||||
#define TAG_DXBC MAKE_TAG('D', 'X', 'B', 'C')
|
#define TAG_DXBC MAKE_TAG('D', 'X', 'B', 'C')
|
||||||
#define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N')
|
#define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N')
|
||||||
#define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
|
#define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
|
||||||
|
|
Loading…
Reference in New Issue