1617a3babSopenharmony_ci#version 450 core
2617a3babSopenharmony_ci
3617a3babSopenharmony_ci#define PASTER2(type, suffix) type##suffix
4617a3babSopenharmony_ci#define PASTER3(type, suffix) type## suffix
5617a3babSopenharmony_ci#define MAKE_TYPE1 image1D dest ## 1;
6617a3babSopenharmony_ci#define MAKE_TYPE2(type, suffix) PASTER2(type, suffix)
7617a3babSopenharmony_ci#define MAKE_TYPE3(type, suffix) PASTER3(type, suffix)
8617a3babSopenharmony_ci
9617a3babSopenharmony_ci#define PREFIX image
10617a3babSopenharmony_ci#define PREFIX3 imag
11617a3babSopenharmony_ci#define SUFFIX2 1D
12617a3babSopenharmony_ci#define SUFFIX3 e1 D
13617a3babSopenharmony_ci
14617a3babSopenharmony_ci#define RESOURCE_TYPE1 MAKE_TYPE1
15617a3babSopenharmony_ci#define RESOURCE_TYPE2 MAKE_TYPE2(PREFIX, SUFFIX2)
16617a3babSopenharmony_ci#define RESOURCE_TYPE3 MAKE_TYPE3(PREFIX3, SUFFIX3)
17617a3babSopenharmony_ci
18617a3babSopenharmony_cilayout (set = 0, binding = 0) uniform writeonly RESOURCE_TYPE1
19617a3babSopenharmony_cilayout (set = 0, binding = 0) uniform writeonly RESOURCE_TYPE2 dest2;
20617a3babSopenharmony_cilayout (set = 0, binding = 0) uniform writeonly RESOURCE_TYPE3 dest3;
21617a3babSopenharmony_ci
22617a3babSopenharmony_civoid main()
23617a3babSopenharmony_ci{
24617a3babSopenharmony_ci}