// GENERATED FILE - DO NOT EDIT. // Generated by gen_packed_gl_enums.py using data from packed_egl_enums.json. // // Copyright 2017 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. // // PackedEGLEnums_autogen.cpp: // Implements ANGLE-specific enums classes for EGLenums and functions operating // on them. #include "common/PackedEGLEnums_autogen.h" #include "common/debug.h" namespace egl { template <> ColorSpace FromEGLenum(EGLenum from) { switch (from) { case EGL_COLORSPACE_sRGB: return ColorSpace::sRGB; case EGL_COLORSPACE_LINEAR: return ColorSpace::Linear; default: return ColorSpace::InvalidEnum; } } EGLenum ToEGLenum(ColorSpace from) { switch (from) { case ColorSpace::sRGB: return EGL_COLORSPACE_sRGB; case ColorSpace::Linear: return EGL_COLORSPACE_LINEAR; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, ColorSpace value) { switch (value) { case ColorSpace::sRGB: os << "EGL_COLORSPACE_sRGB"; break; case ColorSpace::Linear: os << "EGL_COLORSPACE_LINEAR"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } template <> CompositorTiming FromEGLenum(EGLenum from) { switch (from) { case EGL_COMPOSITE_DEADLINE_ANDROID: return CompositorTiming::CompositeDeadline; case EGL_COMPOSITE_INTERVAL_ANDROID: return CompositorTiming::CompositInterval; case EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID: return CompositorTiming::CompositToPresentLatency; default: return CompositorTiming::InvalidEnum; } } EGLenum ToEGLenum(CompositorTiming from) { switch (from) { case CompositorTiming::CompositeDeadline: return EGL_COMPOSITE_DEADLINE_ANDROID; case CompositorTiming::CompositInterval: return EGL_COMPOSITE_INTERVAL_ANDROID; case CompositorTiming::CompositToPresentLatency: return EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, CompositorTiming value) { switch (value) { case CompositorTiming::CompositeDeadline: os << "EGL_COMPOSITE_DEADLINE_ANDROID"; break; case CompositorTiming::CompositInterval: os << "EGL_COMPOSITE_INTERVAL_ANDROID"; break; case CompositorTiming::CompositToPresentLatency: os << "EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } template <> ContextPriority FromEGLenum(EGLenum from) { switch (from) { case EGL_CONTEXT_PRIORITY_LOW_IMG: return ContextPriority::Low; case EGL_CONTEXT_PRIORITY_MEDIUM_IMG: return ContextPriority::Medium; case EGL_CONTEXT_PRIORITY_HIGH_IMG: return ContextPriority::High; default: return ContextPriority::InvalidEnum; } } EGLenum ToEGLenum(ContextPriority from) { switch (from) { case ContextPriority::Low: return EGL_CONTEXT_PRIORITY_LOW_IMG; case ContextPriority::Medium: return EGL_CONTEXT_PRIORITY_MEDIUM_IMG; case ContextPriority::High: return EGL_CONTEXT_PRIORITY_HIGH_IMG; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, ContextPriority value) { switch (value) { case ContextPriority::Low: os << "EGL_CONTEXT_PRIORITY_LOW_IMG"; break; case ContextPriority::Medium: os << "EGL_CONTEXT_PRIORITY_MEDIUM_IMG"; break; case ContextPriority::High: os << "EGL_CONTEXT_PRIORITY_HIGH_IMG"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } template <> MessageType FromEGLenum(EGLenum from) { switch (from) { case EGL_DEBUG_MSG_CRITICAL_KHR: return MessageType::Critical; case EGL_DEBUG_MSG_ERROR_KHR: return MessageType::Error; case EGL_DEBUG_MSG_WARN_KHR: return MessageType::Warn; case EGL_DEBUG_MSG_INFO_KHR: return MessageType::Info; default: return MessageType::InvalidEnum; } } EGLenum ToEGLenum(MessageType from) { switch (from) { case MessageType::Critical: return EGL_DEBUG_MSG_CRITICAL_KHR; case MessageType::Error: return EGL_DEBUG_MSG_ERROR_KHR; case MessageType::Warn: return EGL_DEBUG_MSG_WARN_KHR; case MessageType::Info: return EGL_DEBUG_MSG_INFO_KHR; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, MessageType value) { switch (value) { case MessageType::Critical: os << "EGL_DEBUG_MSG_CRITICAL_KHR"; break; case MessageType::Error: os << "EGL_DEBUG_MSG_ERROR_KHR"; break; case MessageType::Warn: os << "EGL_DEBUG_MSG_WARN_KHR"; break; case MessageType::Info: os << "EGL_DEBUG_MSG_INFO_KHR"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } template <> ObjectType FromEGLenum(EGLenum from) { switch (from) { case EGL_OBJECT_THREAD_KHR: return ObjectType::Thread; case EGL_OBJECT_DISPLAY_KHR: return ObjectType::Display; case EGL_OBJECT_CONTEXT_KHR: return ObjectType::Context; case EGL_OBJECT_SURFACE_KHR: return ObjectType::Surface; case EGL_OBJECT_IMAGE_KHR: return ObjectType::Image; case EGL_OBJECT_SYNC_KHR: return ObjectType::Sync; case EGL_OBJECT_STREAM_KHR: return ObjectType::Stream; default: return ObjectType::InvalidEnum; } } EGLenum ToEGLenum(ObjectType from) { switch (from) { case ObjectType::Thread: return EGL_OBJECT_THREAD_KHR; case ObjectType::Display: return EGL_OBJECT_DISPLAY_KHR; case ObjectType::Context: return EGL_OBJECT_CONTEXT_KHR; case ObjectType::Surface: return EGL_OBJECT_SURFACE_KHR; case ObjectType::Image: return EGL_OBJECT_IMAGE_KHR; case ObjectType::Sync: return EGL_OBJECT_SYNC_KHR; case ObjectType::Stream: return EGL_OBJECT_STREAM_KHR; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, ObjectType value) { switch (value) { case ObjectType::Thread: os << "EGL_OBJECT_THREAD_KHR"; break; case ObjectType::Display: os << "EGL_OBJECT_DISPLAY_KHR"; break; case ObjectType::Context: os << "EGL_OBJECT_CONTEXT_KHR"; break; case ObjectType::Surface: os << "EGL_OBJECT_SURFACE_KHR"; break; case ObjectType::Image: os << "EGL_OBJECT_IMAGE_KHR"; break; case ObjectType::Sync: os << "EGL_OBJECT_SYNC_KHR"; break; case ObjectType::Stream: os << "EGL_OBJECT_STREAM_KHR"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } template <> TextureFormat FromEGLenum(EGLenum from) { switch (from) { case EGL_NO_TEXTURE: return TextureFormat::NoTexture; case EGL_TEXTURE_RGB: return TextureFormat::RGB; case EGL_TEXTURE_RGBA: return TextureFormat::RGBA; default: return TextureFormat::InvalidEnum; } } EGLenum ToEGLenum(TextureFormat from) { switch (from) { case TextureFormat::NoTexture: return EGL_NO_TEXTURE; case TextureFormat::RGB: return EGL_TEXTURE_RGB; case TextureFormat::RGBA: return EGL_TEXTURE_RGBA; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, TextureFormat value) { switch (value) { case TextureFormat::NoTexture: os << "EGL_NO_TEXTURE"; break; case TextureFormat::RGB: os << "EGL_TEXTURE_RGB"; break; case TextureFormat::RGBA: os << "EGL_TEXTURE_RGBA"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } template <> Timestamp FromEGLenum(EGLenum from) { switch (from) { case EGL_REQUESTED_PRESENT_TIME_ANDROID: return Timestamp::RequestedPresentTime; case EGL_RENDERING_COMPLETE_TIME_ANDROID: return Timestamp::RenderingCompleteTime; case EGL_COMPOSITION_LATCH_TIME_ANDROID: return Timestamp::CompositionLatchTime; case EGL_FIRST_COMPOSITION_START_TIME_ANDROID: return Timestamp::FirstCompositionStartTime; case EGL_LAST_COMPOSITION_START_TIME_ANDROID: return Timestamp::LastCompositionStartTime; case EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID: return Timestamp::FirstCompositionGPUFinishedTime; case EGL_DISPLAY_PRESENT_TIME_ANDROID: return Timestamp::DisplayPresentTime; case EGL_DEQUEUE_READY_TIME_ANDROID: return Timestamp::DequeueReadyTime; case EGL_READS_DONE_TIME_ANDROID: return Timestamp::ReadsDoneTime; default: return Timestamp::InvalidEnum; } } EGLenum ToEGLenum(Timestamp from) { switch (from) { case Timestamp::RequestedPresentTime: return EGL_REQUESTED_PRESENT_TIME_ANDROID; case Timestamp::RenderingCompleteTime: return EGL_RENDERING_COMPLETE_TIME_ANDROID; case Timestamp::CompositionLatchTime: return EGL_COMPOSITION_LATCH_TIME_ANDROID; case Timestamp::FirstCompositionStartTime: return EGL_FIRST_COMPOSITION_START_TIME_ANDROID; case Timestamp::LastCompositionStartTime: return EGL_LAST_COMPOSITION_START_TIME_ANDROID; case Timestamp::FirstCompositionGPUFinishedTime: return EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID; case Timestamp::DisplayPresentTime: return EGL_DISPLAY_PRESENT_TIME_ANDROID; case Timestamp::DequeueReadyTime: return EGL_DEQUEUE_READY_TIME_ANDROID; case Timestamp::ReadsDoneTime: return EGL_READS_DONE_TIME_ANDROID; default: UNREACHABLE(); return 0; } } std::ostream &operator<<(std::ostream &os, Timestamp value) { switch (value) { case Timestamp::RequestedPresentTime: os << "EGL_REQUESTED_PRESENT_TIME_ANDROID"; break; case Timestamp::RenderingCompleteTime: os << "EGL_RENDERING_COMPLETE_TIME_ANDROID"; break; case Timestamp::CompositionLatchTime: os << "EGL_COMPOSITION_LATCH_TIME_ANDROID"; break; case Timestamp::FirstCompositionStartTime: os << "EGL_FIRST_COMPOSITION_START_TIME_ANDROID"; break; case Timestamp::LastCompositionStartTime: os << "EGL_LAST_COMPOSITION_START_TIME_ANDROID"; break; case Timestamp::FirstCompositionGPUFinishedTime: os << "EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID"; break; case Timestamp::DisplayPresentTime: os << "EGL_DISPLAY_PRESENT_TIME_ANDROID"; break; case Timestamp::DequeueReadyTime: os << "EGL_DEQUEUE_READY_TIME_ANDROID"; break; case Timestamp::ReadsDoneTime: os << "EGL_READS_DONE_TIME_ANDROID"; break; default: os << "GL_INVALID_ENUM"; break; } return os; } } // namespace egl