// // Copyright 2015 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. //
// validationEGL.h: Validation functions for generic EGL entry point parameters
class AttributeMap; struct ClientExtensions; struct Config; class Device; class Display; class Image; class Stream; class Surface; class Sync; class Thread; class LabeledObject;
// We should remove the message-less overload once we have messages for all EGL errors. void setError(EGLint error) const;
ANGLE_FORMAT_PRINTF(3, 4) void setError(EGLint error, constchar *message...) const;
// A template struct for determining the default value to return for each entry point. template <angle::EntryPoint EP, typename ReturnType> struct DefaultReturnValue
{ static constexpr ReturnType kValue = static_cast<ReturnType>(0);
};
// This and the next 2 template specializations handle distinguishing between EGLint, EGLAttrib // and other. This is needed because on some architectures EGLint and EGLAttrib are not the same // base type. Previously the code conditionally compiled 2 specializations on 64 bit but it turns // out on WatchOS the assumption about 32/64 bit and if EGLint and ELGAttrib are the same or // different did not hold. template <typename PackedT, typename FromT, typename std::enable_if<!std::is_enum<PackedT>::value>::type * = nullptr, typename std::enable_if<std::is_same<FromT, const EGLint *>::value>::type * = nullptr> typename std::remove_reference<PackedT>::type PackParam(FromT attribs)
{ return AttributeMap::CreateFromIntArray(attribs);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.