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 
31 namespace vkt
32 {
33 namespace synchronization
34 {
35 
36 static const OperationName s_writeOps[] = {
37     OPERATION_NAME_WRITE_FILL_BUFFER,
38     OPERATION_NAME_WRITE_UPDATE_BUFFER,
39     OPERATION_NAME_WRITE_COPY_BUFFER,
40     OPERATION_NAME_WRITE_COPY_BUFFER_TO_IMAGE,
41     OPERATION_NAME_WRITE_COPY_IMAGE_TO_BUFFER,
42     OPERATION_NAME_WRITE_COPY_IMAGE,
43     OPERATION_NAME_WRITE_BLIT_IMAGE,
44     OPERATION_NAME_WRITE_SSBO_VERTEX,
45     OPERATION_NAME_WRITE_SSBO_TESSELLATION_CONTROL,
46     OPERATION_NAME_WRITE_SSBO_TESSELLATION_EVALUATION,
47     OPERATION_NAME_WRITE_SSBO_GEOMETRY,
48     OPERATION_NAME_WRITE_SSBO_FRAGMENT,
49     OPERATION_NAME_WRITE_SSBO_COMPUTE,
50     OPERATION_NAME_WRITE_SSBO_COMPUTE_INDIRECT,
51     OPERATION_NAME_WRITE_IMAGE_VERTEX,
52     OPERATION_NAME_WRITE_IMAGE_TESSELLATION_CONTROL,
53     OPERATION_NAME_WRITE_IMAGE_TESSELLATION_EVALUATION,
54     OPERATION_NAME_WRITE_IMAGE_GEOMETRY,
55     OPERATION_NAME_WRITE_IMAGE_FRAGMENT,
56     OPERATION_NAME_WRITE_IMAGE_COMPUTE,
57     OPERATION_NAME_WRITE_IMAGE_COMPUTE_INDIRECT,
58     OPERATION_NAME_WRITE_IMAGE_COMPUTE_MULTISAMPLE,
59     OPERATION_NAME_WRITE_CLEAR_COLOR_IMAGE,
60     OPERATION_NAME_WRITE_CLEAR_DEPTH_STENCIL_IMAGE,
61     OPERATION_NAME_WRITE_DRAW,
62     OPERATION_NAME_WRITE_DRAW_INDEXED,
63     OPERATION_NAME_WRITE_DRAW_INDIRECT,
64     OPERATION_NAME_WRITE_DRAW_INDEXED_INDIRECT,
65     OPERATION_NAME_WRITE_CLEAR_ATTACHMENTS,
66     OPERATION_NAME_WRITE_INDIRECT_BUFFER_DRAW,
67     OPERATION_NAME_WRITE_INDIRECT_BUFFER_DRAW_INDEXED,
68     OPERATION_NAME_WRITE_INDIRECT_BUFFER_DISPATCH,
69     OPERATION_NAME_WRITE_UPDATE_INDEX_BUFFER,
70 };
71 
72 static const OperationName s_readOps[] = {
73     OPERATION_NAME_READ_COPY_BUFFER,
74     OPERATION_NAME_READ_COPY_BUFFER_TO_IMAGE,
75     OPERATION_NAME_READ_COPY_IMAGE_TO_BUFFER,
76     OPERATION_NAME_READ_COPY_IMAGE,
77     OPERATION_NAME_READ_BLIT_IMAGE,
78     OPERATION_NAME_READ_RESOLVE_IMAGE,
79     OPERATION_NAME_READ_UBO_VERTEX,
80     OPERATION_NAME_READ_UBO_TESSELLATION_CONTROL,
81     OPERATION_NAME_READ_UBO_TESSELLATION_EVALUATION,
82     OPERATION_NAME_READ_UBO_GEOMETRY,
83     OPERATION_NAME_READ_UBO_FRAGMENT,
84     OPERATION_NAME_READ_UBO_COMPUTE,
85     OPERATION_NAME_READ_UBO_COMPUTE_INDIRECT,
86     OPERATION_NAME_READ_UBO_TEXEL_VERTEX,
87     OPERATION_NAME_READ_UBO_TEXEL_TESSELLATION_CONTROL,
88     OPERATION_NAME_READ_UBO_TEXEL_TESSELLATION_EVALUATION,
89     OPERATION_NAME_READ_UBO_TEXEL_GEOMETRY,
90     OPERATION_NAME_READ_UBO_TEXEL_FRAGMENT,
91     OPERATION_NAME_READ_UBO_TEXEL_COMPUTE,
92     OPERATION_NAME_READ_UBO_TEXEL_COMPUTE_INDIRECT,
93     OPERATION_NAME_READ_SSBO_VERTEX,
94     OPERATION_NAME_READ_SSBO_TESSELLATION_CONTROL,
95     OPERATION_NAME_READ_SSBO_TESSELLATION_EVALUATION,
96     OPERATION_NAME_READ_SSBO_GEOMETRY,
97     OPERATION_NAME_READ_SSBO_FRAGMENT,
98     OPERATION_NAME_READ_SSBO_COMPUTE,
99     OPERATION_NAME_READ_SSBO_COMPUTE_INDIRECT,
100     OPERATION_NAME_READ_IMAGE_VERTEX,
101     OPERATION_NAME_READ_IMAGE_TESSELLATION_CONTROL,
102     OPERATION_NAME_READ_IMAGE_TESSELLATION_EVALUATION,
103     OPERATION_NAME_READ_IMAGE_GEOMETRY,
104     OPERATION_NAME_READ_IMAGE_FRAGMENT,
105     OPERATION_NAME_READ_IMAGE_COMPUTE,
106     OPERATION_NAME_READ_IMAGE_COMPUTE_INDIRECT,
107     OPERATION_NAME_READ_INDIRECT_BUFFER_DRAW,
108     OPERATION_NAME_READ_INDIRECT_BUFFER_DRAW_INDEXED,
109     OPERATION_NAME_READ_INDIRECT_BUFFER_DISPATCH,
110     OPERATION_NAME_READ_VERTEX_INPUT,
111     OPERATION_NAME_READ_INDEX_INPUT,
112 };
113 
114 static const OperationName s_copyOps[] = {
115     OPERATION_NAME_COPY_BUFFER,
116     OPERATION_NAME_COPY_IMAGE,
117     OPERATION_NAME_BLIT_IMAGE,
118     OPERATION_NAME_COPY_SSBO_VERTEX,
119     OPERATION_NAME_COPY_SSBO_TESSELLATION_CONTROL,
120     OPERATION_NAME_COPY_SSBO_TESSELLATION_EVALUATION,
121     OPERATION_NAME_COPY_SSBO_GEOMETRY,
122     OPERATION_NAME_COPY_SSBO_FRAGMENT,
123     OPERATION_NAME_COPY_SSBO_COMPUTE,
124     OPERATION_NAME_COPY_SSBO_COMPUTE_INDIRECT,
125     OPERATION_NAME_COPY_IMAGE_VERTEX,
126     OPERATION_NAME_COPY_IMAGE_TESSELLATION_CONTROL,
127     OPERATION_NAME_COPY_IMAGE_TESSELLATION_EVALUATION,
128     OPERATION_NAME_COPY_IMAGE_GEOMETRY,
129     OPERATION_NAME_COPY_IMAGE_FRAGMENT,
130     OPERATION_NAME_COPY_IMAGE_COMPUTE,
131     OPERATION_NAME_COPY_IMAGE_COMPUTE_INDIRECT,
132 };
133 
134 } // namespace synchronization
135 } // namespace vkt
136 
137 #endif // _VKTSYNCHRONIZATIONOPERATIONTESTDATA_HPP
138