| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_packed_gl_enums.py using data from packed_gl_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. |
| // |
| // PackedGLEnums_autogen.cpp: |
| // Implements ANGLE-specific enums classes for GLEnum and functions operating |
| // on them. |
| |
| #include "libANGLE/PackedGLEnums_autogen.h" |
| #include "common/debug.h" |
| |
| namespace gl |
| { |
| |
| template <> |
| BufferBinding FromGLenum<BufferBinding>(GLenum from) |
| { |
| switch (from) |
| { |
| case GL_ARRAY_BUFFER: |
| return BufferBinding::Array; |
| case GL_ATOMIC_COUNTER_BUFFER: |
| return BufferBinding::AtomicCounter; |
| case GL_COPY_READ_BUFFER: |
| return BufferBinding::CopyRead; |
| case GL_COPY_WRITE_BUFFER: |
| return BufferBinding::CopyWrite; |
| case GL_DISPATCH_INDIRECT_BUFFER: |
| return BufferBinding::DispatchIndirect; |
| case GL_DRAW_INDIRECT_BUFFER: |
| return BufferBinding::DrawIndirect; |
| case GL_ELEMENT_ARRAY_BUFFER: |
| return BufferBinding::ElementArray; |
| case GL_PIXEL_PACK_BUFFER: |
| return BufferBinding::PixelPack; |
| case GL_PIXEL_UNPACK_BUFFER: |
| return BufferBinding::PixelUnpack; |
| case GL_SHADER_STORAGE_BUFFER: |
| return BufferBinding::ShaderStorage; |
| case GL_TRANSFORM_FEEDBACK_BUFFER: |
| return BufferBinding::TransformFeedback; |
| case GL_UNIFORM_BUFFER: |
| return BufferBinding::Uniform; |
| default: |
| return BufferBinding::InvalidEnum; |
| } |
| } |
| |
| GLenum ToGLenum(BufferBinding from) |
| { |
| switch (from) |
| { |
| case BufferBinding::Array: |
| return GL_ARRAY_BUFFER; |
| case BufferBinding::AtomicCounter: |
| return GL_ATOMIC_COUNTER_BUFFER; |
| case BufferBinding::CopyRead: |
| return GL_COPY_READ_BUFFER; |
| case BufferBinding::CopyWrite: |
| return GL_COPY_WRITE_BUFFER; |
| case BufferBinding::DispatchIndirect: |
| return GL_DISPATCH_INDIRECT_BUFFER; |
| case BufferBinding::DrawIndirect: |
| return GL_DRAW_INDIRECT_BUFFER; |
| case BufferBinding::ElementArray: |
| return GL_ELEMENT_ARRAY_BUFFER; |
| case BufferBinding::PixelPack: |
| return GL_PIXEL_PACK_BUFFER; |
| case BufferBinding::PixelUnpack: |
| return GL_PIXEL_UNPACK_BUFFER; |
| case BufferBinding::ShaderStorage: |
| return GL_SHADER_STORAGE_BUFFER; |
| case BufferBinding::TransformFeedback: |
| return GL_TRANSFORM_FEEDBACK_BUFFER; |
| case BufferBinding::Uniform: |
| return GL_UNIFORM_BUFFER; |
| default: |
| UNREACHABLE(); |
| return GL_NONE; |
| } |
| } |
| |
| template <> |
| BufferUsage FromGLenum<BufferUsage>(GLenum from) |
| { |
| switch (from) |
| { |
| case GL_DYNAMIC_COPY: |
| return BufferUsage::DynamicCopy; |
| case GL_DYNAMIC_DRAW: |
| return BufferUsage::DynamicDraw; |
| case GL_DYNAMIC_READ: |
| return BufferUsage::DynamicRead; |
| case GL_STATIC_COPY: |
| return BufferUsage::StaticCopy; |
| case GL_STATIC_DRAW: |
| return BufferUsage::StaticDraw; |
| case GL_STATIC_READ: |
| return BufferUsage::StaticRead; |
| case GL_STREAM_COPY: |
| return BufferUsage::StreamCopy; |
| case GL_STREAM_DRAW: |
| return BufferUsage::StreamDraw; |
| case GL_STREAM_READ: |
| return BufferUsage::StreamRead; |
| default: |
| return BufferUsage::InvalidEnum; |
| } |
| } |
| |
| GLenum ToGLenum(BufferUsage from) |
| { |
| switch (from) |
| { |
| case BufferUsage::DynamicCopy: |
| return GL_DYNAMIC_COPY; |
| case BufferUsage::DynamicDraw: |
| return GL_DYNAMIC_DRAW; |
| case BufferUsage::DynamicRead: |
| return GL_DYNAMIC_READ; |
| case BufferUsage::StaticCopy: |
| return GL_STATIC_COPY; |
| case BufferUsage::StaticDraw: |
| return GL_STATIC_DRAW; |
| case BufferUsage::StaticRead: |
| return GL_STATIC_READ; |
| case BufferUsage::StreamCopy: |
| return GL_STREAM_COPY; |
| case BufferUsage::StreamDraw: |
| return GL_STREAM_DRAW; |
| case BufferUsage::StreamRead: |
| return GL_STREAM_READ; |
| default: |
| UNREACHABLE(); |
| return GL_NONE; |
| } |
| } |
| |
| template <> |
| CullFaceMode FromGLenum<CullFaceMode>(GLenum from) |
| { |
| switch (from) |
| { |
| case GL_BACK: |
| return CullFaceMode::Back; |
| case GL_FRONT: |
| return CullFaceMode::Front; |
| case GL_FRONT_AND_BACK: |
| return CullFaceMode::FrontAndBack; |
| default: |
| return CullFaceMode::InvalidEnum; |
| } |
| } |
| |
| GLenum ToGLenum(CullFaceMode from) |
| { |
| switch (from) |
| { |
| case CullFaceMode::Back: |
| return GL_BACK; |
| case CullFaceMode::Front: |
| return GL_FRONT; |
| case CullFaceMode::FrontAndBack: |
| return GL_FRONT_AND_BACK; |
| default: |
| UNREACHABLE(); |
| return GL_NONE; |
| } |
| } |
| |
| } // namespace gl |