| Index: Source/core/platform/graphics/Extensions3D.h
|
| diff --git a/Source/core/platform/graphics/Extensions3D.h b/Source/core/platform/graphics/Extensions3D.h
|
| deleted file mode 100644
|
| index f321258fcfb4d5b3e3a068e6f17ac3979f05d18f..0000000000000000000000000000000000000000
|
| --- a/Source/core/platform/graphics/Extensions3D.h
|
| +++ /dev/null
|
| @@ -1,333 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2011 Google Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - *
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
| - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
| - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
| - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#ifndef Extensions3D_h
|
| -#define Extensions3D_h
|
| -
|
| -#include "platform/graphics/GraphicsTypes3D.h"
|
| -
|
| -#include "wtf/text/WTFString.h"
|
| -
|
| -namespace WebCore {
|
| -
|
| -class GraphicsContext3D;
|
| -class ImageBuffer;
|
| -
|
| -// The supported extensions are defined below.
|
| -//
|
| -// Calling any extension function not supported by the current context
|
| -// must be a no-op; in particular, it may not have side effects. In
|
| -// this situation, if the function has a return value, 0 is returned.
|
| -class Extensions3D {
|
| -public:
|
| - ~Extensions3D();
|
| -
|
| - // Supported extensions:
|
| - // GL_EXT_texture_format_BGRA8888
|
| - // GL_EXT_read_format_bgra
|
| - // GL_ARB_robustness
|
| - // GL_ARB_texture_non_power_of_two / GL_OES_texture_npot
|
| - // GL_EXT_packed_depth_stencil / GL_OES_packed_depth_stencil
|
| - // GL_ANGLE_framebuffer_blit / GL_ANGLE_framebuffer_multisample
|
| - // GL_OES_texture_float
|
| - // GL_OES_texture_float_linear
|
| - // GL_OES_texture_half_float
|
| - // GL_OES_texture_half_float_linear
|
| - // GL_OES_standard_derivatives
|
| - // GL_OES_rgb8_rgba8
|
| - // GL_OES_vertex_array_object
|
| - // GL_OES_element_index_uint
|
| - // GL_ANGLE_translated_shader_source
|
| - // GL_ARB_texture_rectangle (only the subset required to
|
| - // implement IOSurface binding; it's recommended to support
|
| - // this only on Mac OS X to limit the amount of code dependent
|
| - // on this extension)
|
| - // GL_EXT_texture_compression_dxt1
|
| - // GL_EXT_texture_compression_s3tc
|
| - // GL_OES_compressed_ETC1_RGB8_texture
|
| - // GL_IMG_texture_compression_pvrtc
|
| - // EXT_texture_filter_anisotropic
|
| - // GL_EXT_debug_marker
|
| - // GL_CHROMIUM_copy_texture
|
| - // GL_CHROMIUM_flipy
|
| - // GL_ARB_draw_buffers / GL_EXT_draw_buffers
|
| - // GL_ANGLE_instanced_arrays
|
| -
|
| - // GL_CHROMIUM_shallow_flush : only supported if an ipc command buffer is used.
|
| - // GL_CHROMIUM_resource_safe : indicating that textures/renderbuffers are always initialized before read/write.
|
| - // GL_CHROMIUM_strict_attribs : indicating a GL error is generated for out-of-bounds buffer accesses.
|
| - // GL_CHROMIUM_post_sub_buffer
|
| - // GL_CHROMIUM_map_sub
|
| - // GL_CHROMIUM_swapbuffers_complete_callback
|
| - // GL_CHROMIUM_rate_limit_offscreen_context
|
| - // GL_CHROMIUM_paint_framebuffer_canvas
|
| - // GL_CHROMIUM_iosurface (Mac OS X specific)
|
| - // GL_CHROMIUM_command_buffer_query
|
| - // GL_ANGLE_texture_usage
|
| - // GL_EXT_debug_marker
|
| - // GL_EXT_texture_storage
|
| - // GL_EXT_occlusion_query_boolean
|
| -
|
| - // Takes full name of extension; for example,
|
| - // "GL_EXT_texture_format_BGRA8888".
|
| - bool supports(const String&);
|
| -
|
| - // Certain OpenGL and WebGL implementations may support enabling
|
| - // extensions lazily. This method may only be called with
|
| - // extension names for which supports returns true.
|
| - void ensureEnabled(const String&);
|
| -
|
| - // Takes full name of extension: for example, "GL_EXT_texture_format_BGRA8888".
|
| - // Checks to see whether the given extension is actually enabled (see ensureEnabled).
|
| - // Has no other side-effects.
|
| - bool isEnabled(const String&);
|
| -
|
| - enum ExtensionsEnumType {
|
| - // GL_EXT_texture_format_BGRA8888 enums
|
| - BGRA_EXT = 0x80E1,
|
| -
|
| - // GL_ARB_robustness/GL_CHROMIUM_lose_context enums
|
| - GUILTY_CONTEXT_RESET_ARB = 0x8253,
|
| - INNOCENT_CONTEXT_RESET_ARB = 0x8254,
|
| - UNKNOWN_CONTEXT_RESET_ARB = 0x8255,
|
| -
|
| - // GL_EXT/OES_packed_depth_stencil enums
|
| - DEPTH24_STENCIL8 = 0x88F0,
|
| -
|
| - // GL_ANGLE_framebuffer_blit names
|
| - READ_FRAMEBUFFER = 0x8CA8,
|
| - DRAW_FRAMEBUFFER = 0x8CA9,
|
| - DRAW_FRAMEBUFFER_BINDING = 0x8CA6,
|
| - READ_FRAMEBUFFER_BINDING = 0x8CAA,
|
| -
|
| - // GL_ANGLE_framebuffer_multisample names
|
| - RENDERBUFFER_SAMPLES = 0x8CAB,
|
| - FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56,
|
| - MAX_SAMPLES = 0x8D57,
|
| -
|
| - // GL_OES_standard_derivatives names
|
| - FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B,
|
| -
|
| - // GL_OES_rgb8_rgba8 names
|
| - RGB8_OES = 0x8051,
|
| - RGBA8_OES = 0x8058,
|
| -
|
| - // GL_OES_vertex_array_object names
|
| - VERTEX_ARRAY_BINDING_OES = 0x85B5,
|
| -
|
| - // GL_ANGLE_translated_shader_source
|
| - TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0,
|
| -
|
| - // GL_ARB_texture_rectangle
|
| - TEXTURE_RECTANGLE_ARB = 0x84F5,
|
| - TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6,
|
| -
|
| - // GL_EXT_texture_compression_dxt1
|
| - // GL_EXT_texture_compression_s3tc
|
| - COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0,
|
| - COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1,
|
| - COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2,
|
| - COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3,
|
| -
|
| - // GL_OES_compressed_ETC1_RGB8_texture
|
| - ETC1_RGB8_OES = 0x8D64,
|
| -
|
| - // GL_IMG_texture_compression_pvrtc
|
| - COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00,
|
| - COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01,
|
| - COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02,
|
| - COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03,
|
| -
|
| - // GL_AMD_compressed_ATC_texture
|
| - COMPRESSED_ATC_RGB_AMD = 0x8C92,
|
| - COMPRESSED_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93,
|
| - COMPRESSED_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE,
|
| -
|
| - // GL_EXT_texture_filter_anisotropic
|
| - TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE,
|
| - MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF,
|
| -
|
| - // GL_CHROMIUM_flipy
|
| - UNPACK_FLIP_Y_CHROMIUM = 0x9240,
|
| -
|
| - // GL_CHROMIUM_copy_texture
|
| - UNPACK_PREMULTIPLY_ALPHA_CHROMIUM = 0x9241,
|
| - UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM = 0x9242,
|
| -
|
| - // GL_ARB_draw_buffers / GL_EXT_draw_buffers
|
| - MAX_DRAW_BUFFERS_EXT = 0x8824,
|
| - DRAW_BUFFER0_EXT = 0x8825,
|
| - DRAW_BUFFER1_EXT = 0x8826,
|
| - DRAW_BUFFER2_EXT = 0x8827,
|
| - DRAW_BUFFER3_EXT = 0x8828,
|
| - DRAW_BUFFER4_EXT = 0x8829,
|
| - DRAW_BUFFER5_EXT = 0x882A,
|
| - DRAW_BUFFER6_EXT = 0x882B,
|
| - DRAW_BUFFER7_EXT = 0x882C,
|
| - DRAW_BUFFER8_EXT = 0x882D,
|
| - DRAW_BUFFER9_EXT = 0x882E,
|
| - DRAW_BUFFER10_EXT = 0x882F,
|
| - DRAW_BUFFER11_EXT = 0x8830,
|
| - DRAW_BUFFER12_EXT = 0x8831,
|
| - DRAW_BUFFER13_EXT = 0x8832,
|
| - DRAW_BUFFER14_EXT = 0x8833,
|
| - DRAW_BUFFER15_EXT = 0x8834,
|
| - MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF,
|
| - COLOR_ATTACHMENT0_EXT = 0x8CE0,
|
| - COLOR_ATTACHMENT1_EXT = 0x8CE1,
|
| - COLOR_ATTACHMENT2_EXT = 0x8CE2,
|
| - COLOR_ATTACHMENT3_EXT = 0x8CE3,
|
| - COLOR_ATTACHMENT4_EXT = 0x8CE4,
|
| - COLOR_ATTACHMENT5_EXT = 0x8CE5,
|
| - COLOR_ATTACHMENT6_EXT = 0x8CE6,
|
| - COLOR_ATTACHMENT7_EXT = 0x8CE7,
|
| - COLOR_ATTACHMENT8_EXT = 0x8CE8,
|
| - COLOR_ATTACHMENT9_EXT = 0x8CE9,
|
| - COLOR_ATTACHMENT10_EXT = 0x8CEA,
|
| - COLOR_ATTACHMENT11_EXT = 0x8CEB,
|
| - COLOR_ATTACHMENT12_EXT = 0x8CEC,
|
| - COLOR_ATTACHMENT13_EXT = 0x8CED,
|
| - COLOR_ATTACHMENT14_EXT = 0x8CEE,
|
| - COLOR_ATTACHMENT15_EXT = 0x8CEF,
|
| -
|
| - // GL_OES_EGL_image_external
|
| - GL_TEXTURE_EXTERNAL_OES = 0x8D65,
|
| -
|
| - // GL_CHROMIUM_map_sub (enums inherited from GL_ARB_vertex_buffer_object)
|
| - READ_ONLY = 0x88B8,
|
| - WRITE_ONLY = 0x88B9,
|
| -
|
| - // GL_ANGLE_texture_usage
|
| - GL_TEXTURE_USAGE_ANGLE = 0x93A2,
|
| - GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3,
|
| -
|
| - // GL_EXT_texture_storage
|
| - BGRA8_EXT = 0x93A1,
|
| -
|
| - // GL_EXT_occlusion_query_boolean
|
| - ANY_SAMPLES_PASSED_EXT = 0x8C2F,
|
| - ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A,
|
| - CURRENT_QUERY_EXT = 0x8865,
|
| - QUERY_RESULT_EXT = 0x8866,
|
| - QUERY_RESULT_AVAILABLE_EXT = 0x8867,
|
| -
|
| - // GL_CHROMIUM_command_buffer_query
|
| - COMMANDS_ISSUED_CHROMIUM = 0x84F2,
|
| -
|
| - // GL_ANGLE_instanced_arrays
|
| - VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE
|
| - };
|
| -
|
| - // GL_ARB_robustness
|
| - // Note: This method's behavior differs from the GL_ARB_robustness
|
| - // specification in the following way:
|
| - // The implementation must not reset the error state during this call.
|
| - // If getGraphicsResetStatusARB returns an error, it should continue
|
| - // returning the same error. Restoring the GraphicsContext3D is handled
|
| - // externally.
|
| - int getGraphicsResetStatusARB();
|
| -
|
| - // GL_ANGLE_framebuffer_blit
|
| - void blitFramebuffer(long srcX0, long srcY0, long srcX1, long srcY1, long dstX0, long dstY0, long dstX1, long dstY1, unsigned long mask, unsigned long filter);
|
| -
|
| - // GL_ANGLE_framebuffer_multisample
|
| - void renderbufferStorageMultisample(unsigned long target, unsigned long samples, unsigned long internalformat, unsigned long width, unsigned long height);
|
| -
|
| - // GL_OES_vertex_array_object
|
| - Platform3DObject createVertexArrayOES();
|
| - void deleteVertexArrayOES(Platform3DObject);
|
| - GC3Dboolean isVertexArrayOES(Platform3DObject);
|
| - void bindVertexArrayOES(Platform3DObject);
|
| -
|
| - // GL_ANGLE_translated_shader_source
|
| - String getTranslatedShaderSourceANGLE(Platform3DObject);
|
| -
|
| - // GL_CHROMIUM_copy_texture
|
| - // canUseCopyTextureCHROMIUM(...) is used to check if copyTextureCHROMIUM(...) can work for the specified
|
| - // format, type and level for the destination texture.
|
| - bool canUseCopyTextureCHROMIUM(GC3Denum destFormat, GC3Denum destType, GC3Dint level);
|
| - void copyTextureCHROMIUM(GC3Denum, Platform3DObject, Platform3DObject, GC3Dint, GC3Denum, GC3Denum);
|
| -
|
| - // GL_EXT_debug_marker
|
| - void insertEventMarkerEXT(const String&);
|
| - void pushGroupMarkerEXT(const String&);
|
| - void popGroupMarkerEXT(void);
|
| -
|
| - // GL_ARB_draw_buffers / GL_EXT_draw_buffers
|
| - void drawBuffersEXT(GC3Dsizei n, const GC3Denum* bufs);
|
| -
|
| - // GL_CHROMIUM_map_sub
|
| - void* mapBufferSubDataCHROMIUM(unsigned target, int offset, int size, unsigned access);
|
| - void unmapBufferSubDataCHROMIUM(const void*);
|
| - void* mapTexSubImage2DCHROMIUM(unsigned target, int level, int xoffset, int yoffset, int width, int height, unsigned format, unsigned type, unsigned access);
|
| - void unmapTexSubImage2DCHROMIUM(const void*);
|
| -
|
| - // GL_CHROMIUM_rate_limit_offscreen_context
|
| - void rateLimitOffscreenContextCHROMIUM();
|
| -
|
| - // GL_CHROMIUM_paint_framebuffer_canvas
|
| - void paintFramebufferToCanvas(int framebuffer, int width, int height, bool premultiplyAlpha, ImageBuffer*);
|
| -
|
| - // GL_CHROMIUM_iosurface
|
| - // To avoid needing to expose extraneous enums, assumes internal format
|
| - // RGBA, format BGRA, and type UNSIGNED_INT_8_8_8_8_REV.
|
| - void texImageIOSurface2DCHROMIUM(unsigned target, int width, int height, uint32_t ioSurfaceId, unsigned plane);
|
| -
|
| - // GL_EXT_texture_storage
|
| - void texStorage2DEXT(unsigned target, int levels, unsigned internalformat, int width, int height);
|
| -
|
| - // GL_EXT_occlusion_query
|
| - Platform3DObject createQueryEXT();
|
| - void deleteQueryEXT(Platform3DObject);
|
| - GC3Dboolean isQueryEXT(Platform3DObject);
|
| - void beginQueryEXT(GC3Denum, Platform3DObject);
|
| - void endQueryEXT(GC3Denum);
|
| - void getQueryivEXT(GC3Denum, GC3Denum, GC3Dint*);
|
| - void getQueryObjectuivEXT(Platform3DObject, GC3Denum, GC3Duint*);
|
| -
|
| - // GL_CHROMIUM_shallow_flush
|
| - void shallowFlushCHROMIUM();
|
| -
|
| - // GL_ANGLE_instanced_arrays
|
| - void drawArraysInstancedANGLE(GC3Denum mode, GC3Dint first, GC3Dsizei count, GC3Dsizei primcount);
|
| - void drawElementsInstancedANGLE(GC3Denum mode, GC3Dsizei count, GC3Denum type, GC3Dintptr offset, GC3Dsizei primcount);
|
| - void vertexAttribDivisorANGLE(GC3Duint index, GC3Duint divisor);
|
| -
|
| - // GL_CHROMIUM_lose_context
|
| - void loseContextCHROMIUM(GC3Denum, GC3Denum);
|
| -
|
| -private:
|
| - // Instances of this class are strictly owned by the GraphicsContext3D implementation and do not
|
| - // need to be instantiated by any other code.
|
| - friend class GraphicsContext3D;
|
| - explicit Extensions3D(GraphicsContext3D*);
|
| -
|
| - // Weak pointer back to GraphicsContext3D.
|
| - GraphicsContext3D* m_context;
|
| -};
|
| -
|
| -} // namespace WebCore
|
| -
|
| -#endif // Extensions3D_h
|
|
|