Monado OpenXR Runtime
Loading...
Searching...
No Matches
render_shader_specialization.hpp
Go to the documentation of this file.
1// Copyright 2026, NVIDIA CORPORATION.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief C++ shader specialization map entries for render compute shaders.
6 * @ingroup aux_render
7 *
8 * Entry point for build-generated specialization metadata. Include after the
9 * @c render_shader_specialization custom target (or @c aux_shaders) has been built
10 * so @c render_shader_specialization.hpp.inc is available on the include path.
11 *
12 * @par Declared here
13 * - @c ShaderSpecializationMap<Key> primary template (specializations are generated below).
14 *
15 * @par Generated file (@c render_shader_specialization.hpp.inc)
16 * - One @c ShaderSpecializationMap specialization per shader listed in
17 * @c shader_specializations().
18 * - @c RENDER_SHADER_SPECIALIZATION_KEYS(X) — X-macro with one @c X(KeyStruct) entry
19 * per generated spec struct (e.g. @c render_distortion_spec).
20 * - @c RENDER_SHADER_SPECIALIZATION_CACHE_NAMES(X) and @c RENDER_SHADER_SPECIALIZATION_ENTRIES(X)
21 * — same cache-name macros as in @ref render_shader_specialization.h.
22 *
23 * Struct definitions live in @ref render_shader_specialization.h.
24 *
25 * Produced by @c cmake/generate_shader_specialization.py via @c cmake/ShaderSpecialization.cmake.
26 */
27
28#pragma once
29
31
32#include <array>
33#include <cstddef>
34
35//! Primary template; specializations are in generated @c .hpp.inc file.
36template <typename Key> struct ShaderSpecializationMap;
37
39
40#include "render_shader_specialization.hpp.inc"
Shader specialization structs for render compute shaders.
Primary template; specializations are in generated .hpp.inc file.
Definition render_shader_specialization.hpp:36
Include all of the Vulkan headers in one place, and cope with any "messy" includes implied by it.