blob: 6f76da4b514d0036674220342a916e481feebb92 [file] [log] [blame]
Michael Lentine83ab3412015-11-03 16:20:30 -08001// VK tests
2//
Karl Schultz929a1002016-02-04 11:33:21 -07003// Copyright (c) 2015-2016 The Khronos Group Inc.
4// Copyright (c) 2015-2016 Valve Corporation
5// Copyright (c) 2015-2016 LunarG, Inc.
6// Copyright (c) 2015-2016 Google, Inc.
Michael Lentine83ab3412015-11-03 16:20:30 -08007//
Jon Ashburn3ebf1252016-04-19 11:30:31 -06008// Licensed under the Apache License, Version 2.0 (the "License");
9// you may not use this file except in compliance with the License.
10// You may obtain a copy of the License at
Michael Lentine83ab3412015-11-03 16:20:30 -080011//
Jon Ashburn3ebf1252016-04-19 11:30:31 -060012// http://www.apache.org/licenses/LICENSE-2.0
Michael Lentine83ab3412015-11-03 16:20:30 -080013//
Jon Ashburn3ebf1252016-04-19 11:30:31 -060014// Unless required by applicable law or agreed to in writing, software
15// distributed under the License is distributed on an "AS IS" BASIS,
16// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17// See the License for the specific language governing permissions and
18// limitations under the License.
Michael Lentine83ab3412015-11-03 16:20:30 -080019
20#ifndef VKTESTFRAMEWORKANDROID_H
21#define VKTESTFRAMEWORKANDROID_H
22
23#include "test_common.h"
Michael Lentine83ab3412015-11-03 16:20:30 -080024
25#if defined(NDEBUG)
26#define U_ASSERT_ONLY __attribute__((unused))
27#else
28#define U_ASSERT_ONLY
29#endif
30
31// Can be used by tests to record additional details / description of test
32#define TEST_DESCRIPTION(desc) RecordProperty("description", desc)
33
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060034#define ICD_SPV_MAGIC 0x07230203
Michael Lentine83ab3412015-11-03 16:20:30 -080035
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060036class VkTestFramework : public ::testing::Test {
Mark Lobodzinski64318ba2017-01-26 13:34:13 -070037 public:
Michael Lentine83ab3412015-11-03 16:20:30 -080038 VkTestFramework();
39 ~VkTestFramework();
40
41 static void InitArgs(int *argc, char *argv[]);
42 static void Finish();
43
Michael Lentineb62cc052015-12-09 08:44:25 -080044 VkFormat GetFormat(VkInstance instance, vk_testing::Device *device);
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060045 bool GLSLtoSPV(const VkShaderStageFlagBits shader_type, const char *pshader, std::vector<unsigned int> &spv);
Tobin Ehlis72888642017-11-15 09:43:56 -070046 static bool m_devsim_layer;
Michael Lentine83ab3412015-11-03 16:20:30 -080047};
48
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060049class TestEnvironment : public ::testing::Environment {
Mark Lobodzinski64318ba2017-01-26 13:34:13 -070050 public:
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060051 void SetUp();
Michael Lentine83ab3412015-11-03 16:20:30 -080052
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060053 void TearDown();
Michael Lentine83ab3412015-11-03 16:20:30 -080054};
55
56#endif