DirectXShaderCompiler/include/dxc/dxctools.h

61 строка
3.0 KiB
C
Исходник Обычный вид История

2016-12-28 22:52:27 +03:00
///////////////////////////////////////////////////////////////////////////////
// //
// dxctools.h //
// Copyright (C) Microsoft Corporation. All rights reserved. //
2017-01-28 03:48:08 +03:00
// This file is distributed under the University of Illinois Open Source //
// License. See LICENSE.TXT for details. //
2016-12-28 22:52:27 +03:00
// //
// Provides declarations for the DirectX Compiler tooling components. //
// //
///////////////////////////////////////////////////////////////////////////////
#ifndef __DXC_TOOLS__
#define __DXC_TOOLS__
#include <dxc/dxcapi.h>
enum RewriterOptionMask {
Default = 0,
SkipFunctionBody = 1,
2017-06-29 20:43:53 +03:00
SkipStatic = 2,
GlobalExternByDefault = 4,
KeepUserMacro = 8,
};
2016-12-28 22:52:27 +03:00
struct __declspec(uuid("c012115b-8893-4eb9-9c5a-111456ea1c45"))
IDxcRewriter : public IUnknown {
virtual HRESULT STDMETHODCALLTYPE RemoveUnusedGlobals(_In_ IDxcBlobEncoding *pSource,
_In_z_ LPCWSTR entryPoint,
_In_count_(defineCount) DxcDefine *pDefines,
_In_ UINT32 defineCount,
_COM_Outptr_ IDxcOperationResult **ppResult) = 0;
virtual HRESULT STDMETHODCALLTYPE RewriteUnchanged(_In_ IDxcBlobEncoding *pSource,
_In_count_(defineCount) DxcDefine *pDefines,
_In_ UINT32 defineCount,
_COM_Outptr_ IDxcOperationResult **ppResult) = 0;
virtual HRESULT STDMETHODCALLTYPE RewriteUnchangedWithInclude(_In_ IDxcBlobEncoding *pSource,
// Optional file name for pSource. Used in errors and include handlers.
_In_opt_ LPCWSTR pSourceName,
_In_count_(defineCount) DxcDefine *pDefines,
_In_ UINT32 defineCount,
// user-provided interface to handle #include directives (optional)
_In_opt_ IDxcIncludeHandler *pIncludeHandler,
_In_ UINT32 rewriteOption,
_COM_Outptr_ IDxcOperationResult **ppResult) = 0;
2016-12-28 22:52:27 +03:00
};
__declspec(selectany)
extern const CLSID CLSID_DxcRewriter = { /* b489b951-e07f-40b3-968d-93e124734da4 */
0xb489b951,
0xe07f,
0x40b3,
{ 0x96, 0x8d, 0x93, 0xe1, 0x24, 0x73, 0x4d, 0xa4 }
};
#endif