clang 22.0.0git
hlsl_spirv.h
Go to the documentation of this file.
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-exception
6//
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 vk
26} // namespace hlsl
27
28#endif // _HLSL_HLSL_SPIRV_H_
__hlsl_spirv_type< Opcode, Size, Alignment, Operands... > SpirvType
Definition hlsl_spirv.h:21
__hlsl_spirv_type< Opcode, 0, 0, Operands... > SpirvOpaqueType
Definition hlsl_spirv.h:24
unsigned int uint
An unsigned 32-bit integer.
static constexpr T value
Definition hlsl_spirv.h:15