1 #ifndef _VKTTYPECOMPARISONUTIL_HPP 2 #define _VKTTYPECOMPARISONUTIL_HPP 3 /*------------------------------------------------------------------------ 4 * Vulkan Conformance Tests 5 * ------------------------ 6 * 7 * Copyright (c) 2021 The Khronos Group Inc. 8 * Copyright (c) 2021 Google LLC. 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 * 22 *//*! 23 * \file 24 * \brief Utility functions for generating comparison code for values with different types. 25 *//*--------------------------------------------------------------------*/ 26 27 #include <gluShaderUtil.hpp> 28 #include "gluVarTypeUtil.hpp" 29 #include <set> 30 31 namespace vkt 32 { 33 namespace typecomputil 34 { 35 const char *getCompareFuncForType(glu::DataType type); 36 void getCompareDependencies(std::set<glu::DataType> &compareFuncs, glu::DataType basicType); 37 void collectUniqueBasicTypes(std::set<glu::DataType> &basicTypes, const glu::VarType &type); 38 glu::DataType getPromoteType(glu::DataType type); 39 } // namespace typecomputil 40 } // namespace vkt 41 42 #endif // _VKTTYPECOMPARISONUTIL_HPP 43