| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_packed_gl_enums.py using data from packed_egl_enums.json. |
| // |
| // Copyright 2019 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 <> |
| CompositorTiming FromEGLenum<CompositorTiming>(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; |
| } |
| } |
| |
| template <> |
| MessageType FromEGLenum<MessageType>(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; |
| } |
| } |
| |
| template <> |
| ObjectType FromEGLenum<ObjectType>(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; |
| } |
| } |
| |
| template <> |
| TextureFormat FromEGLenum<TextureFormat>(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; |
| } |
| } |
| |
| template <> |
| Timestamp FromEGLenum<Timestamp>(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; |
| } |
| } |
| |
| } // namespace egl |