1#ifndef _VKTSYNCHRONIZATIONOPERATIONTESTDATA_HPP
2#define _VKTSYNCHRONIZATIONOPERATIONTESTDATA_HPP
3/*------------------------------------------------------------------------
4 * Vulkan Conformance Tests
5 * ------------------------
6 *
7 * Copyright (c) 2016 The Khronos Group Inc.
8 *
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 *      http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 *
21 *//*!
22 * \file
23 * \brief Synchronization operation static data
24 *//*--------------------------------------------------------------------*/
25
26#include "tcuDefs.hpp"
27#include "vkDefs.hpp"
28#include "tcuVector.hpp"
29#include "vktSynchronizationOperation.hpp"
30
31namespace vkt
32{
33namespace synchronization
34{
35
36static const OperationName s_writeOps[] =
37{
38	OPERATION_NAME_WRITE_FILL_BUFFER,
39	OPERATION_NAME_WRITE_UPDATE_BUFFER,
40	OPERATION_NAME_WRITE_COPY_BUFFER,
41	OPERATION_NAME_WRITE_COPY_BUFFER_TO_IMAGE,
42	OPERATION_NAME_WRITE_COPY_IMAGE_TO_BUFFER,
43	OPERATION_NAME_WRITE_COPY_IMAGE,
44	OPERATION_NAME_WRITE_BLIT_IMAGE,
45	OPERATION_NAME_WRITE_SSBO_VERTEX,
46	OPERATION_NAME_WRITE_SSBO_TESSELLATION_CONTROL,
47	OPERATION_NAME_WRITE_SSBO_TESSELLATION_EVALUATION,
48	OPERATION_NAME_WRITE_SSBO_GEOMETRY,
49	OPERATION_NAME_WRITE_SSBO_FRAGMENT,
50	OPERATION_NAME_WRITE_SSBO_COMPUTE,
51	OPERATION_NAME_WRITE_SSBO_COMPUTE_INDIRECT,
52	OPERATION_NAME_WRITE_IMAGE_VERTEX,
53	OPERATION_NAME_WRITE_IMAGE_TESSELLATION_CONTROL,
54	OPERATION_NAME_WRITE_IMAGE_TESSELLATION_EVALUATION,
55	OPERATION_NAME_WRITE_IMAGE_GEOMETRY,
56	OPERATION_NAME_WRITE_IMAGE_FRAGMENT,
57	OPERATION_NAME_WRITE_IMAGE_COMPUTE,
58	OPERATION_NAME_WRITE_IMAGE_COMPUTE_INDIRECT,
59	OPERATION_NAME_WRITE_IMAGE_COMPUTE_MULTISAMPLE,
60	OPERATION_NAME_WRITE_CLEAR_COLOR_IMAGE,
61	OPERATION_NAME_WRITE_CLEAR_DEPTH_STENCIL_IMAGE,
62	OPERATION_NAME_WRITE_DRAW,
63	OPERATION_NAME_WRITE_DRAW_INDEXED,
64	OPERATION_NAME_WRITE_DRAW_INDIRECT,
65	OPERATION_NAME_WRITE_DRAW_INDEXED_INDIRECT,
66	OPERATION_NAME_WRITE_CLEAR_ATTACHMENTS,
67	OPERATION_NAME_WRITE_INDIRECT_BUFFER_DRAW,
68	OPERATION_NAME_WRITE_INDIRECT_BUFFER_DRAW_INDEXED,
69	OPERATION_NAME_WRITE_INDIRECT_BUFFER_DISPATCH,
70	OPERATION_NAME_WRITE_UPDATE_INDEX_BUFFER,
71};
72
73static const OperationName s_readOps[] =
74{
75	OPERATION_NAME_READ_COPY_BUFFER,
76	OPERATION_NAME_READ_COPY_BUFFER_TO_IMAGE,
77	OPERATION_NAME_READ_COPY_IMAGE_TO_BUFFER,
78	OPERATION_NAME_READ_COPY_IMAGE,
79	OPERATION_NAME_READ_BLIT_IMAGE,
80	OPERATION_NAME_READ_RESOLVE_IMAGE,
81	OPERATION_NAME_READ_UBO_VERTEX,
82	OPERATION_NAME_READ_UBO_TESSELLATION_CONTROL,
83	OPERATION_NAME_READ_UBO_TESSELLATION_EVALUATION,
84	OPERATION_NAME_READ_UBO_GEOMETRY,
85	OPERATION_NAME_READ_UBO_FRAGMENT,
86	OPERATION_NAME_READ_UBO_COMPUTE,
87	OPERATION_NAME_READ_UBO_COMPUTE_INDIRECT,
88	OPERATION_NAME_READ_UBO_TEXEL_VERTEX,
89	OPERATION_NAME_READ_UBO_TEXEL_TESSELLATION_CONTROL,
90	OPERATION_NAME_READ_UBO_TEXEL_TESSELLATION_EVALUATION,
91	OPERATION_NAME_READ_UBO_TEXEL_GEOMETRY,
92	OPERATION_NAME_READ_UBO_TEXEL_FRAGMENT,
93	OPERATION_NAME_READ_UBO_TEXEL_COMPUTE,
94	OPERATION_NAME_READ_UBO_TEXEL_COMPUTE_INDIRECT,
95	OPERATION_NAME_READ_SSBO_VERTEX,
96	OPERATION_NAME_READ_SSBO_TESSELLATION_CONTROL,
97	OPERATION_NAME_READ_SSBO_TESSELLATION_EVALUATION,
98	OPERATION_NAME_READ_SSBO_GEOMETRY,
99	OPERATION_NAME_READ_SSBO_FRAGMENT,
100	OPERATION_NAME_READ_SSBO_COMPUTE,
101	OPERATION_NAME_READ_SSBO_COMPUTE_INDIRECT,
102	OPERATION_NAME_READ_IMAGE_VERTEX,
103	OPERATION_NAME_READ_IMAGE_TESSELLATION_CONTROL,
104	OPERATION_NAME_READ_IMAGE_TESSELLATION_EVALUATION,
105	OPERATION_NAME_READ_IMAGE_GEOMETRY,
106	OPERATION_NAME_READ_IMAGE_FRAGMENT,
107	OPERATION_NAME_READ_IMAGE_COMPUTE,
108	OPERATION_NAME_READ_IMAGE_COMPUTE_INDIRECT,
109	OPERATION_NAME_READ_INDIRECT_BUFFER_DRAW,
110	OPERATION_NAME_READ_INDIRECT_BUFFER_DRAW_INDEXED,
111	OPERATION_NAME_READ_INDIRECT_BUFFER_DISPATCH,
112	OPERATION_NAME_READ_VERTEX_INPUT,
113	OPERATION_NAME_READ_INDEX_INPUT,
114};
115
116static const OperationName s_copyOps[] =
117{
118	OPERATION_NAME_COPY_BUFFER,
119	OPERATION_NAME_COPY_IMAGE,
120	OPERATION_NAME_BLIT_IMAGE,
121	OPERATION_NAME_COPY_SSBO_VERTEX,
122	OPERATION_NAME_COPY_SSBO_TESSELLATION_CONTROL,
123	OPERATION_NAME_COPY_SSBO_TESSELLATION_EVALUATION,
124	OPERATION_NAME_COPY_SSBO_GEOMETRY,
125	OPERATION_NAME_COPY_SSBO_FRAGMENT,
126	OPERATION_NAME_COPY_SSBO_COMPUTE,
127	OPERATION_NAME_COPY_SSBO_COMPUTE_INDIRECT,
128	OPERATION_NAME_COPY_IMAGE_VERTEX,
129	OPERATION_NAME_COPY_IMAGE_TESSELLATION_CONTROL,
130	OPERATION_NAME_COPY_IMAGE_TESSELLATION_EVALUATION,
131	OPERATION_NAME_COPY_IMAGE_GEOMETRY,
132	OPERATION_NAME_COPY_IMAGE_FRAGMENT,
133	OPERATION_NAME_COPY_IMAGE_COMPUTE,
134	OPERATION_NAME_COPY_IMAGE_COMPUTE_INDIRECT,
135};
136
137} // synchronization
138} // vkt
139
140#endif // _VKTSYNCHRONIZATIONOPERATIONTESTDATA_HPP
141