12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- ///////////////////////////////////////////////////////////////////////////////
- // //
- // DxilRootSignature.cpp //
- // 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 support for manipulating root signature structures. //
- // //
- ///////////////////////////////////////////////////////////////////////////////
- #pragma once
- #include "dxc/Support/Global.h"
- namespace hlsl {
- DEFINE_ENUM_FLAG_OPERATORS(DxilRootSignatureFlags)
- DEFINE_ENUM_FLAG_OPERATORS(DxilRootDescriptorFlags)
- DEFINE_ENUM_FLAG_OPERATORS(DxilDescriptorRangeType)
- DEFINE_ENUM_FLAG_OPERATORS(DxilDescriptorRangeFlags)
- // Execute (error) and throw.
- #define EAT(x) { (x); throw ::hlsl::Exception(E_FAIL); }
- namespace root_sig_helper {
- // GetFlags/SetFlags overloads.
- DxilRootDescriptorFlags GetFlags(const DxilRootDescriptor &);
- void SetFlags(DxilRootDescriptor &, DxilRootDescriptorFlags);
- DxilRootDescriptorFlags GetFlags(const DxilRootDescriptor1 &D);
- void SetFlags(DxilRootDescriptor1 &D, DxilRootDescriptorFlags Flags);
- void SetFlags(DxilContainerRootDescriptor1 &D, DxilRootDescriptorFlags Flags);
- DxilDescriptorRangeFlags GetFlags(const DxilDescriptorRange &D);
- void SetFlags(DxilDescriptorRange &, DxilDescriptorRangeFlags);
- DxilDescriptorRangeFlags GetFlags(const DxilContainerDescriptorRange &D);
- void SetFlags(DxilContainerDescriptorRange &, DxilDescriptorRangeFlags);
- DxilDescriptorRangeFlags GetFlags(const DxilDescriptorRange1 &D);
- void SetFlags(DxilDescriptorRange1 &D, DxilDescriptorRangeFlags Flags);
- DxilDescriptorRangeFlags GetFlags(const DxilContainerDescriptorRange1 &D);
- void SetFlags(DxilContainerDescriptorRange1 &D, DxilDescriptorRangeFlags Flags);
- }
- }
|