summaryrefslogtreecommitdiffstats
path: root/gfx/gl/GLDefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/gl/GLDefs.h')
-rw-r--r--gfx/gl/GLDefs.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/gfx/gl/GLDefs.h b/gfx/gl/GLDefs.h
new file mode 100644
index 0000000000..56f8031493
--- /dev/null
+++ b/gfx/gl/GLDefs.h
@@ -0,0 +1,110 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#if !defined(LOCALGL_H_)
+# define LOCALGL_H_
+
+# include "GLTypes.h"
+# include "GLConsts.h"
+
+namespace mozilla {
+namespace gl {
+class GLContext;
+bool CheckContextLost(const GLContext* gl);
+} // namespace gl
+} // namespace mozilla
+
+# define MOZ_GL_ASSERT(glContext, expr) \
+ MOZ_ASSERT((expr) || mozilla::gl::CheckContextLost(glContext))
+
+// -
+
+// clang-format off
+
+// TODO: use official constant names instead of followed ones.
+
+// IMG_texture_compression_pvrtc
+#define LOCAL_GL_COMPRESSED_RGB_PVRTC_4BPPV1 0x8C00
+#define LOCAL_GL_COMPRESSED_RGB_PVRTC_2BPPV1 0x8C01
+#define LOCAL_GL_COMPRESSED_RGBA_PVRTC_4BPPV1 0x8C02
+#define LOCAL_GL_COMPRESSED_RGBA_PVRTC_2BPPV1 0x8C03
+
+// OES_EGL_image_external
+#define LOCAL_GL_TEXTURE_EXTERNAL 0x8D65
+#define LOCAL_GL_TEXTURE_BINDING_EXTERNAL 0x8D67
+
+// AMD_compressed_ATC_texture
+#define LOCAL_GL_ATC_RGB 0x8C92
+#define LOCAL_GL_ATC_RGBA_EXPLICIT_ALPHA 0x8C93
+#define LOCAL_GL_ATC_RGBA_INTERPOLATED_ALPHA 0x87EE
+
+// EGL_ANDROID_image_crop
+#define LOCAL_EGL_IMAGE_CROP_LEFT_ANDROID 0x3148
+#define LOCAL_EGL_IMAGE_CROP_TOP_ANDROID 0x3149
+#define LOCAL_EGL_IMAGE_CROP_RIGHT_ANDROID 0x314A
+#define LOCAL_EGL_IMAGE_CROP_BOTTOM_ANDROID 0x314B
+
+// EGL_ANGLE_platform_angle
+#define LOCAL_EGL_PLATFORM_ANGLE_ANGLE 0x3202
+#define LOCAL_EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3203
+#define LOCAL_EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE 0x3204
+#define LOCAL_EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE 0x3205
+#define LOCAL_EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3206
+#define LOCAL_EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED_ANGLE 0x3451
+
+// EGL_ANGLE_keyed_mutex
+#define LOCAL_EGL_DXGI_KEYED_MUTEX_ANGLE 0x33A2
+
+// EGL_ANGLE_stream_producer_d3d_texture
+#define LOCAL_EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE 0x33AB
+
+// EGL_ANGLE_platform_angle_d3d
+#define LOCAL_EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3207
+#define LOCAL_EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3208
+#define LOCAL_EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE 0x3209
+#define LOCAL_EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A
+#define LOCAL_EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE 0x320B
+#define LOCAL_EGL_PLATFORM_ANGLE_DEVICE_TYPE_REFERENCE_ANGLE 0x320C
+#define LOCAL_EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE 0x320F
+
+// EGL_ANGLE_d3d_texture_client_buffer
+#define LOCAL_EGL_D3D_TEXTURE_ANGLE 0x33A3
+
+// EGL_ANGLE_flexible_surface_compatibility
+#define LOCAL_EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE 0x33A6
+
+// EGL_ANGLE_experimental_present_path
+#define LOCAL_EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE 0x33A4
+#define LOCAL_EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE 0x33A9
+#define LOCAL_EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE 0x33AA
+
+// EGL_ANGLE_direct3d_display
+#define LOCAL_EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ((EGLNativeDisplayType)-2)
+#define LOCAL_EGL_D3D11_ONLY_DISPLAY_ANGLE ((EGLNativeDisplayType)-3)
+
+// EGL_ANGLE_feature_control
+#define LOCAL_EGL_FEATURE_OVERRIDES_ENABLED_ANGLE 0x3466
+
+// WGL_NV_DX_interop
+#define LOCAL_WGL_ACCESS_READ_ONLY 0x0000
+#define LOCAL_WGL_ACCESS_READ_WRITE 0x0001
+#define LOCAL_WGL_ACCESS_WRITE_DISCARD 0x0002
+
+// Others
+#define LOCAL_EGL_PRESERVED_RESOURCES 0x3030
+#define LOCAL_EGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
+#define LOCAL_GL_CONTEXT_FLAGS_ARB 0x2094
+#define LOCAL_GL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define LOCAL_GL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define LOCAL_GL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
+
+// EGL_ANGLE_create_context_backwards_compatible
+#define LOCAL_EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE 0x3483
+
+// EGL_ANGLE_image_d3d11_texture
+#define LOCAL_EGL_D3D11_TEXTURE_ANGLE 0x3484
+
+// clang-format on
+
+#endif