blob: 7094050fe6b4b1ff71b61dae12909a67435b1419 [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"
24#include "vktestbinding.h"
25
26#if defined(NDEBUG)
27#define U_ASSERT_ONLY __attribute__((unused))
28#else
29#define U_ASSERT_ONLY
30#endif
31
32// Can be used by tests to record additional details / description of test
33#define TEST_DESCRIPTION(desc) RecordProperty("description", desc)
34
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060035#define ICD_SPV_MAGIC 0x07230203
Michael Lentine83ab3412015-11-03 16:20:30 -080036
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060037class VkTestFramework : public ::testing::Test {
Mark Lobodzinski64318ba2017-01-26 13:34:13 -070038 public:
Michael Lentine83ab3412015-11-03 16:20:30 -080039 VkTestFramework();
40 ~VkTestFramework();
41
42 static void InitArgs(int *argc, char *argv[]);
43 static void Finish();
44
Michael Lentineb62cc052015-12-09 08:44:25 -080045 VkFormat GetFormat(VkInstance instance, vk_testing::Device *device);
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060046 bool GLSLtoSPV(const VkShaderStageFlagBits shader_type, const char *pshader, std::vector<unsigned int> &spv);
Tobin Ehlis72888642017-11-15 09:43:56 -070047 static bool m_devsim_layer;
Michael Lentine83ab3412015-11-03 16:20:30 -080048};
49
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060050class TestEnvironment : public ::testing::Environment {
Mark Lobodzinski64318ba2017-01-26 13:34:13 -070051 public:
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060052 void SetUp();
Michael Lentine83ab3412015-11-03 16:20:30 -080053
Mark Lobodzinskic6a62142016-09-07 16:35:55 -060054 void TearDown();
Michael Lentine83ab3412015-11-03 16:20:30 -080055};
56
57#endif