Merge "Further relax line verification in primitive bbox tests" into nougat-cts-dev...
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / spirv_assembly / vktSpvAsmComputeShaderCase.hpp
1 #ifndef _VKTSPVASMCOMPUTESHADERCASE_HPP
2 #define _VKTSPVASMCOMPUTESHADERCASE_HPP
3 /*-------------------------------------------------------------------------
4  * Vulkan Conformance Tests
5  * ------------------------
6  *
7  * Copyright (c) 2015 Google 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 Test Case Skeleton Based on Compute Shaders
24  *//*--------------------------------------------------------------------*/
25
26 #include "vkPrograms.hpp"
27 #include "vktTestCase.hpp"
28
29 #include "vktSpvAsmComputeShaderTestUtil.hpp"
30
31 namespace vkt
32 {
33 namespace SpirVAssembly
34 {
35
36 enum ComputeTestFeatures
37 {
38         COMPUTE_TEST_USES_NONE,
39         COMPUTE_TEST_USES_INT16,
40         COMPUTE_TEST_USES_INT64,
41         COMPUTE_TEST_USES_INT16_INT64,
42 };
43
44 class SpvAsmComputeShaderCase : public TestCase
45 {
46 public:
47                                                 SpvAsmComputeShaderCase (tcu::TestContext& testCtx, const char* name, const char* description, const ComputeShaderSpec& spec, const ComputeTestFeatures features = COMPUTE_TEST_USES_NONE);
48         void                            initPrograms                    (vk::SourceCollections& programCollection) const;
49         TestInstance*           createInstance                  (Context& ctx) const;
50
51 private:
52         ComputeShaderSpec       m_shaderSpec;
53         const ComputeTestFeatures       m_features;
54 };
55
56 } // SpirVAssembly
57 } // vkt
58
59 #endif // _VKTSPVASMCOMPUTESHADERCASE_HPP