|
| 1 | +#ifndef _NBL_BUILTIN_HLSL_CONCEPTS_ACCESSORS_WORKGROUP_ARITHMETIC_INCLUDED_ |
| 2 | +#define _NBL_BUILTIN_HLSL_CONCEPTS_ACCESSORS_WORKGROUP_ARITHMETIC_INCLUDED_ |
| 3 | + |
| 4 | +#include "nbl/builtin/hlsl/concepts.hlsl" |
| 5 | + |
| 6 | +namespace nbl |
| 7 | +{ |
| 8 | +namespace hlsl |
| 9 | +{ |
| 10 | +namespace workgroup2 |
| 11 | +{ |
| 12 | + |
| 13 | +#define NBL_CONCEPT_NAME ArithmeticSharedMemoryAccessor |
| 14 | +#define NBL_CONCEPT_TPLT_PRM_KINDS (typename) |
| 15 | +#define NBL_CONCEPT_TPLT_PRM_NAMES (T) |
| 16 | +#define NBL_CONCEPT_PARAM_0 (accessor, T) |
| 17 | +#define NBL_CONCEPT_PARAM_1 (index, uint32_t) |
| 18 | +#define NBL_CONCEPT_PARAM_2 (val, uint32_t) |
| 19 | +NBL_CONCEPT_BEGIN(3) |
| 20 | +#define accessor NBL_CONCEPT_PARAM_T NBL_CONCEPT_PARAM_0 |
| 21 | +#define index NBL_CONCEPT_PARAM_T NBL_CONCEPT_PARAM_1 |
| 22 | +#define val NBL_CONCEPT_PARAM_T NBL_CONCEPT_PARAM_2 |
| 23 | +NBL_CONCEPT_END( |
| 24 | + ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((accessor.template set<uint32_t>(index, val)), is_same_v, void)) |
| 25 | + ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((accessor.template get<uint32_t>(index, val)), is_same_v, void)) |
| 26 | + ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((accessor.workgroupExecutionAndMemoryBarrier()), is_same_v, void)) |
| 27 | +); |
| 28 | +#undef val |
| 29 | +#undef index |
| 30 | +#undef accessor |
| 31 | +#include <nbl/builtin/hlsl/concepts/__end.hlsl> |
| 32 | + |
| 33 | +#define NBL_CONCEPT_NAME ArithmeticDataAccessor |
| 34 | +#define NBL_CONCEPT_TPLT_PRM_KINDS (typename) |
| 35 | +#define NBL_CONCEPT_TPLT_PRM_NAMES (T) |
| 36 | +#define NBL_CONCEPT_PARAM_0 (accessor, T) |
| 37 | +#define NBL_CONCEPT_PARAM_1 (index, uint32_t) |
| 38 | +#define NBL_CONCEPT_PARAM_2 (val, uint32_t) |
| 39 | +NBL_CONCEPT_BEGIN(3) |
| 40 | +#define accessor NBL_CONCEPT_PARAM_T NBL_CONCEPT_PARAM_0 |
| 41 | +#define index NBL_CONCEPT_PARAM_T NBL_CONCEPT_PARAM_1 |
| 42 | +#define val NBL_CONCEPT_PARAM_T NBL_CONCEPT_PARAM_2 |
| 43 | +NBL_CONCEPT_END( |
| 44 | + ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((accessor.template set<uint32_t>(index, val)), is_same_v, void)) |
| 45 | + ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((accessor.template get<uint32_t>(index, val)), is_same_v, void)) |
| 46 | + ((NBL_CONCEPT_REQ_EXPR_RET_TYPE)((accessor.workgroupExecutionAndMemoryBarrier()), is_same_v, void)) |
| 47 | +); |
| 48 | +#undef val |
| 49 | +#undef index |
| 50 | +#undef accessor |
| 51 | +#include <nbl/builtin/hlsl/concepts/__end.hlsl> |
| 52 | + |
| 53 | +} |
| 54 | +} |
| 55 | +} |
| 56 | + |
| 57 | +#endif |
0 commit comments