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
9#include <avnd/introspection/input.hpp>
10#include <avnd/introspection/output.hpp>
11namespace oscr
12{
13template <typename T>
14concept GpuNode = avnd::texture_input_introspection<T>::size > 0
15 || avnd::texture_output_introspection<T>::size > 0
16 || avnd::buffer_input_introspection<T>::size > 0
17 || avnd::buffer_output_introspection<T>::size > 0
18 || avnd::geometry_input_introspection<T>::size > 0
19 || avnd::geometry_output_introspection<T>::size > 0;
20
21template <typename T>
22concept GpuGraphicsNode2 = requires
23{
24 T::layout::graphics;
25};
26
27template <typename T>
28concept GpuComputeNode2 = requires
29{
30 T::layout::compute;
31};
32
33template <typename T>
35
36template <typename T>
37concept has_ossia_layer = requires { sizeof(typename T::Layer); };
38}
Definition Metadatas.hpp:28
Definition Metadatas.hpp:22
Definition Metadatas.hpp:14
Definition Metadatas.hpp:37
Definition Metadatas.hpp:34
Definition Factories.hpp:19