nngn
Loading...
Searching...
No Matches
nngn::detail Namespace Reference

Classes

class  Buffer
 A buffer and its associated memory allocation. More...
 
struct  chain_cast
 
struct  fn_args
 
struct  fn_args< R(*)(A...)>
 
struct  types_first
 
struct  types_first< types_impl< T, Ts... > >
 
struct  types_impl
 
struct  types_last
 
struct  types_last< types_impl< Ts... > >
 
struct  types_tag
 
struct  vk_create_info_type_impl
 

Concepts

concept  tracker_with_realloc
 Checks whether the tracker object tracks memory relocation.
 

Typedefs

template<typename T , typename F , typename ... Args>
using scoped_base
 
template<type_list T>
using types_first_t = typename types_first<T>::type
 
template<type_list T>
using types_last_t = typename types_last<T>::type
 
template<type_list T>
using type = types_first<T>
 
template<type_list T>
using type_t = types_first_t<T>
 

Functions

auto arg_size (const std::byte &)
 
auto arg_ptr (const std::byte &b)
 
auto arg_size (const Compute::Handle &t)
 
auto arg_ptr (const Compute::Handle &t)
 
template<arithmetic T>
auto arg_size (const T &)
 
auto arg_ptr (const arithmetic auto &t)
 
auto arg_size (const std::ranges::sized_range auto &r)
 
auto arg_ptr (const std::ranges::range auto &r)
 
 NNGN_APPLY2 (C, VkBuffer, BUFFER) NNGN_IGNORE2(C
 
COMMAND_BUFFER NNGN_APPLY2 (C, VkCommandPool, COMMAND_POOL) NNGN_APPLY2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL NNGN_IGNORE2 (C, VkDescriptorSet, DESCRIPTOR_SET) NNGN_APPLY2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT NNGN_IGNORE2 (C, VkDeviceMemory, DEVICE_MEMORY) NNGN_APPLY2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE NNGN_APPLY2 (C, VkFramebuffer, FRAMEBUFFER) NNGN_APPLY2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE NNGN_APPLY2 (C, VkImageView, IMAGE_VIEW) NNGN_IGNORE2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE NNGN_IGNORE2 (C, VkQueue, QUEUE) NNGN_APPLY2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE NNGN_APPLY2 (C, VkPipelineLayout, PIPELINE_LAYOUT) NNGN_APPLY2(C
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS NNGN_APPLY2 (C, VkSampler, SAMPLER) NNGN_APPLY2(C
 

Variables

 VkCommandBuffer
 
COMMAND_BUFFER VkDescriptorPool
 
COMMAND_BUFFER DESCRIPTOR_POOL VkDescriptorSetLayout
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT VkFence
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE VkImage
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE VkPipeline
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE VkPipelineCache
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE VkRenderPass
 
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS VkSemaphore
 
template<typename A >
static constexpr bool has_realloc
 Checks whether an allocator supports memory relocation.
 
template<typename A , typename T >
static constexpr bool has_typed_alloc
 Checks whether an allocator supports typed memory allocations.
 
template<typename >
constexpr bool is_stateless_lambda = false
 

Typedef Documentation

◆ scoped_base

template<typename T , typename F , typename ... Args>
using nngn::detail::scoped_base
Initial value:
std::conditional_t<
std::is_same_v<T, nngn::empty>,
delegate<F, Args...>,
delegate<F, T, Args...>>
#define T(f0, f1, f2)
#define F(...)
Definition pp.cpp:12

◆ type

template<type_list T>
using nngn::detail::type = types_first<T>

◆ type_t

template<type_list T>
using nngn::detail::type_t = types_first_t<T>

◆ types_first_t

template<type_list T>
using nngn::detail::types_first_t = typename types_first<T>::type

◆ types_last_t

template<type_list T>
using nngn::detail::types_last_t = typename types_last<T>::type

Function Documentation

◆ arg_ptr() [1/4]

auto nngn::detail::arg_ptr ( const arithmetic auto & t)
Here is the call graph for this function:

◆ arg_ptr() [2/4]

auto nngn::detail::arg_ptr ( const Compute::Handle & t)
inline
Here is the call graph for this function:

◆ arg_ptr() [3/4]

auto nngn::detail::arg_ptr ( const std::byte & b)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ arg_ptr() [4/4]

auto nngn::detail::arg_ptr ( const std::ranges::range auto & r)
Here is the call graph for this function:

◆ arg_size() [1/4]

auto nngn::detail::arg_size ( const Compute::Handle & t)
inline
Here is the call graph for this function:

◆ arg_size() [2/4]

auto nngn::detail::arg_size ( const std::byte & )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ arg_size() [3/4]

auto nngn::detail::arg_size ( const std::ranges::sized_range auto & r)
Here is the call graph for this function:

◆ arg_size() [4/4]

template<arithmetic T>
auto nngn::detail::arg_size ( const T & )
Here is the call graph for this function:

◆ NNGN_APPLY2() [1/6]

nngn::detail::NNGN_APPLY2 ( C ,
VkBuffer ,
BUFFER  )

◆ NNGN_APPLY2() [2/6]

COMMAND_BUFFER nngn::detail::NNGN_APPLY2 ( C ,
VkCommandPool ,
COMMAND_POOL  )

◆ NNGN_APPLY2() [3/6]

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::detail::NNGN_APPLY2 ( C ,
VkFramebuffer ,
FRAMEBUFFER  )

◆ NNGN_APPLY2() [4/6]

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE nngn::detail::NNGN_APPLY2 ( C ,
VkImageView ,
IMAGE_VIEW  )

◆ NNGN_APPLY2() [5/6]

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE nngn::detail::NNGN_APPLY2 ( C ,
VkPipelineLayout ,
PIPELINE_LAYOUT  )

◆ NNGN_APPLY2() [6/6]

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::detail::NNGN_APPLY2 ( C ,
VkSampler ,
SAMPLER  )

◆ NNGN_IGNORE2() [1/3]

COMMAND_BUFFER DESCRIPTOR_POOL nngn::detail::NNGN_IGNORE2 ( C ,
VkDescriptorSet ,
DESCRIPTOR_SET  )

◆ NNGN_IGNORE2() [2/3]

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::detail::NNGN_IGNORE2 ( C ,
VkDeviceMemory ,
DEVICE_MEMORY  )

◆ NNGN_IGNORE2() [3/3]

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE nngn::detail::NNGN_IGNORE2 ( C ,
VkQueue ,
QUEUE  )

Variable Documentation

◆ has_realloc

template<typename A >
bool nngn::detail::has_realloc
staticconstexpr
Initial value:
=
requires(A a, typename A::pointer p, std::size_t n) {
a.reallocate(p, n);
}
local n
Definition dump_lights.lua:5
local a
Definition input.lua:35

Checks whether an allocator supports memory relocation.

Allocators use this check to conditionally support this operation themselves when the base allocator does.

◆ has_typed_alloc

template<typename A , typename T >
bool nngn::detail::has_typed_alloc
staticconstexpr
Initial value:
=
requires(A a, typename A::pointer p, std::size_t n, T t) {
a.allocate(p, n, t);
}

Checks whether an allocator supports typed memory allocations.

Allocators use this check to conditionally support this operation themselves when the base allocator does.

◆ is_stateless_lambda

template<typename >
bool nngn::detail::is_stateless_lambda = false
inlineconstexpr

◆ VkCommandBuffer

nngn::detail::VkCommandBuffer

◆ VkDescriptorPool

COMMAND_BUFFER nngn::detail::VkDescriptorPool

◆ VkDescriptorSetLayout

COMMAND_BUFFER DESCRIPTOR_POOL nngn::detail::VkDescriptorSetLayout

◆ VkFence

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::detail::VkFence

◆ VkImage

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::detail::VkImage

◆ VkPipeline

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE nngn::detail::VkPipeline

◆ VkPipelineCache

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE nngn::detail::VkPipelineCache

◆ VkRenderPass

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE nngn::detail::VkRenderPass

◆ VkSemaphore

COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::detail::VkSemaphore