chromium/third_party/angle/src/libANGLE/renderer/gl/glx/platform_glx.h

//
// 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.
//

// platform_glx.h: Includes specific to GLX.

#ifndef LIBANGLE_RENDERER_GL_GLX_PLATFORMGLX_H_
#define LIBANGLE_RENDERER_GL_GLX_PLATFORMGLX_H_

#if !defined(ANGLE_SKIP_GLX_DEFINES)
// GLX 1.0
#define GLX_USE_GL
#define GLX_BUFFER_SIZE
#define GLX_LEVEL
#define GLX_RGBA
#define GLX_DOUBLEBUFFER
#define GLX_STEREO
#define GLX_AUX_BUFFERS
#define GLX_RED_SIZE
#define GLX_GREEN_SIZE
#define GLX_BLUE_SIZE
#define GLX_ALPHA_SIZE
#define GLX_DEPTH_SIZE
#define GLX_STENCIL_SIZE
#define GLX_ACCUM_RED_SIZE
#define GLX_ACCUM_GREEN_SIZE
#define GLX_ACCUM_BLUE_SIZE
#define GLX_ACCUM_ALPHA_SIZE

#define GLX_BAD_SCREEN
#define GLX_BAD_ATTRIBUTE
#define GLX_NO_EXTENSION
#define GLX_BAD_VISUAL
#define GLX_BAD_CONTEXT
#define GLX_BAD_VALUE
#define GLX_BAD_ENUM

// GLX 1.1
#define GLX_VENDOR
#define GLX_VERSION
#define GLX_EXTENSIONS

// GLX 1.3
#define GLX_CONFIG_CAVEAT
#define GLX_DONT_CARE
#define GLX_X_VISUAL_TYPE
#define GLX_TRANSPARENT_TYPE
#define GLX_TRANSPARENT_INDEX_VALUE
#define GLX_TRANSPARENT_RED_VALUE
#define GLX_TRANSPARENT_GREEN_VALUE
#define GLX_TRANSPARENT_BLUE_VALUE
#define GLX_TRANSPARENT_ALPHA_VALUE
#define GLX_WINDOW_BIT
#define GLX_PIXMAP_BIT
#define GLX_PBUFFER_BIT
#define GLX_AUX_BUFFERS_BIT
#define GLX_FRONT_LEFT_BUFFER_BIT
#define GLX_FRONT_RIGHT_BUFFER_BIT
#define GLX_BACK_LEFT_BUFFER_BIT
#define GLX_BACK_RIGHT_BUFFER_BIT
#define GLX_DEPTH_BUFFER_BIT
#define GLX_STENCIL_BUFFER_BIT
#define GLX_ACCUM_BUFFER_BIT
#define GLX_NONE
#define GLX_SLOW_CONFIG
#define GLX_TRUE_COLOR
#define GLX_DIRECT_COLOR
#define GLX_PSEUDO_COLOR
#define GLX_STATIC_COLOR
#define GLX_GRAY_SCALE
#define GLX_STATIC_GRAY
#define GLX_TRANSPARENT_RGB
#define GLX_TRANSPARENT_INDEX
#define GLX_VISUAL_ID
#define GLX_SCREEN
#define GLX_NON_CONFORMANT_CONFIG
#define GLX_DRAWABLE_TYPE
#define GLX_RENDER_TYPE
#define GLX_X_RENDERABLE
#define GLX_FBCONFIG_ID
#define GLX_RGBA_TYPE
#define GLX_COLOR_INDEX_TYPE
#define GLX_MAX_PBUFFER_WIDTH
#define GLX_MAX_PBUFFER_HEIGHT
#define GLX_MAX_PBUFFER_PIXELS
#define GLX_PRESERVED_CONTENTS
#define GLX_LARGEST_PBUFFER
#define GLX_WIDTH
#define GLX_HEIGHT
#define GLX_EVENT_MASK
#define GLX_DAMAGED
#define GLX_SAVED
#define GLX_WINDOW
#define GLX_PBUFFER
#define GLX_PBUFFER_HEIGHT
#define GLX_PBUFFER_WIDTH
#define GLX_RGBA_BIT
#define GLX_COLOR_INDEX_BIT
#define GLX_PBUFFER_CLOBBER_MASK

// GLX 1.4
#define GLX_SAMPLE_BUFFERS
#define GLX_SAMPLES

// GLX_ARB_create_context
#define GLX_CONTEXT_DEBUG_BIT_ARB
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
#define GLX_CONTEXT_MAJOR_VERSION_ARB
#define GLX_CONTEXT_MINOR_VERSION_ARB
#define GLX_CONTEXT_FLAGS_ARB

// GLX_ARB_create_context_profile
#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB
#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
#define GLX_CONTEXT_PROFILE_MASK_ARB

// GLX_ARB_create_context_robustness
#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB
#define GLX_LOSE_CONTEXT_ON_RESET_ARB
#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
#define GLX_NO_RESET_NOTIFICATION_ARB

// GLX_EXT_create_context_es2_profile
#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT

// GLX_EXT_texture_from_pixmap
#define GLX_TEXTURE_1D_BIT_EXT
#define GLX_TEXTURE_2D_BIT_EXT
#define GLX_TEXTURE_RECTANGLE_BIT_EXT
#define GLX_BIND_TO_TEXTURE_RGB_EXT
#define GLX_BIND_TO_TEXTURE_RGBA_EXT
#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT
#define GLX_BIND_TO_TEXTURE_TARGETS_EXT
#define GLX_Y_INVERTED_EXT
#define GLX_TEXTURE_FORMAT_EXT
#define GLX_TEXTURE_TARGET_EXT
#define GLX_MIPMAP_TEXTURE_EXT
#define GLX_TEXTURE_FORMAT_NONE_EXT
#define GLX_TEXTURE_FORMAT_RGB_EXT
#define GLX_TEXTURE_FORMAT_RGBA_EXT
#define GLX_TEXTURE_1D_EXT
#define GLX_TEXTURE_2D_EXT
#define GLX_TEXTURE_RECTANGLE_EXT
#define GLX_FRONT_LEFT_EXT
#define GLX_FRONT_RIGHT_EXT
#define GLX_BACK_LEFT_EXT
#define GLX_BACK_RIGHT_EXT
#define GLX_FRONT_EXT
#define GLX_BACK_EXT
#define GLX_AUX0_EXT
#define GLX_AUX1_EXT
#define GLX_AUX2_EXT
#define GLX_AUX3_EXT
#define GLX_AUX4_EXT
#define GLX_AUX5_EXT
#define GLX_AUX6_EXT
#define GLX_AUX7_EXT
#define GLX_AUX8_EXT
#define GLX_AUX9_EXT

// GLX_EXT_swap_control
#define GLX_SWAP_INTERVAL_EXT
#define GLX_MAX_SWAP_INTERVAL_EXT

// GLX_NV_robustness_video_memory_purge
#define GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV

#endif  // !defined(ANGLE_SKIP_GLX_DEFINES)

// GLX typedefs depend on the X headers
#include <X11/Xlib.h>
#include <X11/Xresource.h>
#include <X11/Xutil.h>

// GLX typedefs
namespace glx
{

Context;
FBConfig;
FBConfigID;
ContextID;
Window;
Pbuffer;
Pixmap;
Drawable;

}  // namespace glx

PFNGETPROCPROC;

#endif  // LIBANGLE_RENDERER_GL_GLX_PLATFORMGLX_H_