Loading...
Searching...
No Matches
Metadatas.hpp
1#pragma once
2
3#include <Crousti/Concepts.hpp>
4
5#include <ossia/dataflow/safe_nodes/port.hpp>
6
7#include <boost/mp11/algorithm.hpp>
8#include <boost/pfr.hpp>
9
10#include <avnd/introspection/input.hpp>
11#include <avnd/introspection/output.hpp>
12namespace oscr
13{
14template <typename T>
15concept GpuNode = avnd::texture_input_introspection<T>::size > 0
16 || avnd::texture_output_introspection<T>::size > 0
17 || avnd::buffer_input_introspection<T>::size > 0
18 || avnd::buffer_output_introspection<T>::size > 0
19 || avnd::geometry_input_introspection<T>::size > 0
20 || avnd::geometry_output_introspection<T>::size > 0;
21
22template <typename T>
23concept GpuGraphicsNode2 = requires
24{
25 T::layout::graphics;
26};
27
28template <typename T>
29concept GpuComputeNode2 = requires
30{
31 T::layout::compute;
32};
33
34template <typename T>
36
37template <typename T>
38concept has_ossia_layer = requires { sizeof(typename T::Layer); };
39}
Definition Metadatas.hpp:29
Definition Metadatas.hpp:23
Definition Metadatas.hpp:15
Definition Metadatas.hpp:38
Definition Metadatas.hpp:35
Definition Factories.hpp:19