Merge branch 'jekstrand_renderpass_transfer_bit_fix' into 'master'
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / shaderexecutor / vktShaderBuiltinTests.cpp
1 /*------------------------------------------------------------------------
2  * Vulkan Conformance Tests
3  * ------------------------
4  *
5  * Copyright (c) 2015 The Khronos Group Inc.
6  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining a
9  * copy of this software and/or associated documentation files (the
10  * "Materials"), to deal in the Materials without restriction, including
11  * without limitation the rights to use, copy, modify, merge, publish,
12  * distribute, sublicense, and/or sell copies of the Materials, and to
13  * permit persons to whom the Materials are furnished to do so, subject to
14  * the following conditions:
15  *
16  * The above copyright notice(s) and this permission notice shall be included
17  * in all copies or substantial portions of the Materials.
18  *
19  * The Materials are Confidential Information as defined by the
20  * Khronos Membership Agreement until designated non-confidential by Khronos,
21  * at which point this condition clause shall be removed.
22  *
23  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
26  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
27  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
28  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
30  *
31  *//*!
32  * \file
33  * \brief Vulkan shader render test cases
34  *//*--------------------------------------------------------------------*/
35
36 #include "vktShaderBuiltinTests.hpp"
37
38 #include "deUniquePtr.hpp"
39
40 #include "vktShaderBuiltinPrecisionTests.hpp"
41 #include "vktShaderCommonFunctionTests.hpp"
42 #include "vktShaderIntegerFunctionTests.hpp"
43 #include "vktShaderPackingFunctionTests.hpp"
44
45 namespace vkt
46 {
47 namespace shaderexecutor
48 {
49
50 tcu::TestCaseGroup* createBuiltinTests (tcu::TestContext& testCtx)
51 {
52         de::MovePtr<tcu::TestCaseGroup> builtinTests                    (new tcu::TestCaseGroup(testCtx, "builtin",             "Built-in tests"));
53         de::MovePtr<tcu::TestCaseGroup> builtinFunctionTests    (new tcu::TestCaseGroup(testCtx, "function",    "Built-in Function Tests"));
54
55         builtinFunctionTests->addChild(new ShaderCommonFunctionTests(testCtx));
56         builtinFunctionTests->addChild(new ShaderIntegerFunctionTests(testCtx));
57         builtinFunctionTests->addChild(new ShaderPackingFunctionTests(testCtx));
58
59         builtinTests->addChild(builtinFunctionTests.release());
60         builtinTests->addChild(new BuiltinPrecisionTests(testCtx));
61
62         return builtinTests.release();
63 }
64
65 } // shaderexecutor
66 } // vkt