29 lines · c
1//===----- hlsl_spirv.h - HLSL definitions for SPIR-V target --------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef _HLSL_HLSL_SPIRV_H_10#define _HLSL_HLSL_SPIRV_H_11 12namespace hlsl {13namespace vk {14template <typename T, T v> struct integral_constant {15 static constexpr T value = v;16};17 18template <typename T> struct Literal {};19 20template <uint Opcode, uint Size, uint Alignment, typename... Operands>21using SpirvType = __hlsl_spirv_type<Opcode, Size, Alignment, Operands...>;22 23template <uint Opcode, typename... Operands>24using SpirvOpaqueType = __hlsl_spirv_type<Opcode, 0, 0, Operands...>;25} // namespace vk26} // namespace hlsl27 28#endif // _HLSL_HLSL_SPIRV_H_29