61 строка
3.0 KiB
C
61 строка
3.0 KiB
C
///////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// dxctools.h //
|
|
// Copyright (C) Microsoft Corporation. All rights reserved. //
|
|
// This file is distributed under the University of Illinois Open Source //
|
|
// License. See LICENSE.TXT for details. //
|
|
// //
|
|
// Provides declarations for the DirectX Compiler tooling components. //
|
|
// //
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __DXC_TOOLS__
|
|
#define __DXC_TOOLS__
|
|
|
|
#include <dxc/dxcapi.h>
|
|
|
|
enum RewriterOptionMask {
|
|
Default = 0,
|
|
SkipFunctionBody = 1,
|
|
SkipStatic = 2,
|
|
GlobalExternByDefault = 4,
|
|
KeepUserMacro = 8,
|
|
};
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
__declspec(selectany)
|
|
extern const CLSID CLSID_DxcRewriter = { /* b489b951-e07f-40b3-968d-93e124734da4 */
|
|
0xb489b951,
|
|
0xe07f,
|
|
0x40b3,
|
|
{ 0x96, 0x8d, 0x93, 0xe1, 0x24, 0x73, 0x4d, 0xa4 }
|
|
};
|
|
|
|
#endif
|