clang
22.0.0git
lib
Headers
hlsl
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
12
namespace
hlsl
{
13
namespace
vk
{
14
template
<
typename
T, T v>
struct
integral_constant
{
15
static
constexpr
T
value
= v;
16
};
17
18
template
<
typename
T>
struct
Literal
{};
19
20
template
<
uint
Opcode,
uint
Size,
uint
Alignment,
typename
... Operands>
21
using
SpirvType
= __hlsl_spirv_type<Opcode, Size, Alignment, Operands...>;
22
23
template
<
uint
Opcode,
typename
... Operands>
24
using
SpirvOpaqueType
= __hlsl_spirv_type<Opcode, 0, 0, Operands...>;
25
}
// namespace vk
26
}
// namespace hlsl
27
28
#endif
// _HLSL_HLSL_SPIRV_H_
hlsl::vk
Definition
hlsl_spirv.h:13
hlsl::vk::SpirvType
__hlsl_spirv_type< Opcode, Size, Alignment, Operands... > SpirvType
Definition
hlsl_spirv.h:21
hlsl::vk::SpirvOpaqueType
__hlsl_spirv_type< Opcode, 0, 0, Operands... > SpirvOpaqueType
Definition
hlsl_spirv.h:24
hlsl
Definition
hlsl_alias_intrinsics.h:12
hlsl::uint
unsigned int uint
An unsigned 32-bit integer.
Definition
hlsl_basic_types.h:35
hlsl::vk::Literal
Definition
hlsl_spirv.h:18
hlsl::vk::integral_constant
Definition
hlsl_spirv.h:14
hlsl::vk::integral_constant::value
static constexpr T value
Definition
hlsl_spirv.h:15
Generated on
for clang by
1.14.0