/*
    This file is part of the WebKit open source project.
    This file has been generated by generate-bindings.pl. DO NOT MODIFY!

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to
    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
*/

#include "config.h"

#if ENABLE(3D_CANVAS)

#include "JSCanvasRenderingContext3D.h"

#include "CanvasActiveInfo.h"
#include "CanvasArray.h"
#include "CanvasBuffer.h"
#include "CanvasFloatArray.h"
#include "CanvasFramebuffer.h"
#include "CanvasIntArray.h"
#include "CanvasProgram.h"
#include "CanvasRenderbuffer.h"
#include "CanvasRenderingContext3D.h"
#include "CanvasShader.h"
#include "CanvasTexture.h"
#include "CanvasUnsignedByteArray.h"
#include "JSCanvasActiveInfo.h"
#include "JSCanvasArray.h"
#include "JSCanvasBuffer.h"
#include "JSCanvasFloatArray.h"
#include "JSCanvasFramebuffer.h"
#include "JSCanvasIntArray.h"
#include "JSCanvasProgram.h"
#include "JSCanvasRenderbuffer.h"
#include "JSCanvasShader.h"
#include "JSCanvasTexture.h"
#include "JSCanvasUnsignedByteArray.h"
#include "KURL.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>

using namespace JSC;

namespace WebCore {

ASSERT_CLASS_FITS_IN_CELL(JSCanvasRenderingContext3D);

/* Hash table */

static const HashTableValue JSCanvasRenderingContext3DTableValues[2] =
{
    { "constructor", DontEnum|ReadOnly, (intptr_t)jsCanvasRenderingContext3DConstructor, (intptr_t)0 },
    { 0, 0, 0, 0 }
};

static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext3DTable =
#if ENABLE(PERFECT_HASH_SIZE)
    { 0, JSCanvasRenderingContext3DTableValues, 0 };
#else
    { 2, 1, JSCanvasRenderingContext3DTableValues, 0 };
#endif

/* Hash table for constructor */

static const HashTableValue JSCanvasRenderingContext3DConstructorTableValues[303] =
{
    { "DEPTH_BUFFER_BIT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_BUFFER_BIT, (intptr_t)0 },
    { "STENCIL_BUFFER_BIT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BUFFER_BIT, (intptr_t)0 },
    { "COLOR_BUFFER_BIT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_BUFFER_BIT, (intptr_t)0 },
    { "FALSE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFALSE, (intptr_t)0 },
    { "TRUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRUE, (intptr_t)0 },
    { "POINTS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOINTS, (intptr_t)0 },
    { "LINES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINES, (intptr_t)0 },
    { "LINE_LOOP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINE_LOOP, (intptr_t)0 },
    { "LINE_STRIP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINE_STRIP, (intptr_t)0 },
    { "TRIANGLES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRIANGLES, (intptr_t)0 },
    { "TRIANGLE_STRIP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRIANGLE_STRIP, (intptr_t)0 },
    { "TRIANGLE_FAN", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRIANGLE_FAN, (intptr_t)0 },
    { "ZERO", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DZERO, (intptr_t)0 },
    { "ONE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE, (intptr_t)0 },
    { "SRC_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSRC_COLOR, (intptr_t)0 },
    { "ONE_MINUS_SRC_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_SRC_COLOR, (intptr_t)0 },
    { "SRC_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSRC_ALPHA, (intptr_t)0 },
    { "ONE_MINUS_SRC_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_SRC_ALPHA, (intptr_t)0 },
    { "DST_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDST_ALPHA, (intptr_t)0 },
    { "ONE_MINUS_DST_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_DST_ALPHA, (intptr_t)0 },
    { "DST_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDST_COLOR, (intptr_t)0 },
    { "ONE_MINUS_DST_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_DST_COLOR, (intptr_t)0 },
    { "SRC_ALPHA_SATURATE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSRC_ALPHA_SATURATE, (intptr_t)0 },
    { "FUNC_ADD", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFUNC_ADD, (intptr_t)0 },
    { "BLEND_EQUATION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_EQUATION, (intptr_t)0 },
    { "BLEND_EQUATION_RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_EQUATION_RGB, (intptr_t)0 },
    { "BLEND_EQUATION_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_EQUATION_ALPHA, (intptr_t)0 },
    { "FUNC_SUBTRACT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFUNC_SUBTRACT, (intptr_t)0 },
    { "FUNC_REVERSE_SUBTRACT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFUNC_REVERSE_SUBTRACT, (intptr_t)0 },
    { "BLEND_DST_RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_DST_RGB, (intptr_t)0 },
    { "BLEND_SRC_RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_SRC_RGB, (intptr_t)0 },
    { "BLEND_DST_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_DST_ALPHA, (intptr_t)0 },
    { "BLEND_SRC_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_SRC_ALPHA, (intptr_t)0 },
    { "CONSTANT_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCONSTANT_COLOR, (intptr_t)0 },
    { "ONE_MINUS_CONSTANT_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_CONSTANT_COLOR, (intptr_t)0 },
    { "CONSTANT_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCONSTANT_ALPHA, (intptr_t)0 },
    { "ONE_MINUS_CONSTANT_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_CONSTANT_ALPHA, (intptr_t)0 },
    { "BLEND_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_COLOR, (intptr_t)0 },
    { "ARRAY_BUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DARRAY_BUFFER, (intptr_t)0 },
    { "ELEMENT_ARRAY_BUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DELEMENT_ARRAY_BUFFER, (intptr_t)0 },
    { "ARRAY_BUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DARRAY_BUFFER_BINDING, (intptr_t)0 },
    { "ELEMENT_ARRAY_BUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DELEMENT_ARRAY_BUFFER_BINDING, (intptr_t)0 },
    { "STREAM_DRAW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTREAM_DRAW, (intptr_t)0 },
    { "STATIC_DRAW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTATIC_DRAW, (intptr_t)0 },
    { "DYNAMIC_DRAW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDYNAMIC_DRAW, (intptr_t)0 },
    { "BUFFER_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBUFFER_SIZE, (intptr_t)0 },
    { "BUFFER_USAGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBUFFER_USAGE, (intptr_t)0 },
    { "CURRENT_VERTEX_ATTRIB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCURRENT_VERTEX_ATTRIB, (intptr_t)0 },
    { "FRONT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRONT, (intptr_t)0 },
    { "BACK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBACK, (intptr_t)0 },
    { "FRONT_AND_BACK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRONT_AND_BACK, (intptr_t)0 },
    { "TEXTURE_2D", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_2D, (intptr_t)0 },
    { "CULL_FACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCULL_FACE, (intptr_t)0 },
    { "BLEND", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND, (intptr_t)0 },
    { "DITHER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDITHER, (intptr_t)0 },
    { "STENCIL_TEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_TEST, (intptr_t)0 },
    { "DEPTH_TEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_TEST, (intptr_t)0 },
    { "SCISSOR_TEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSCISSOR_TEST, (intptr_t)0 },
    { "POLYGON_OFFSET_FILL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOLYGON_OFFSET_FILL, (intptr_t)0 },
    { "SAMPLE_ALPHA_TO_COVERAGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_ALPHA_TO_COVERAGE, (intptr_t)0 },
    { "SAMPLE_COVERAGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_COVERAGE, (intptr_t)0 },
    { "NO_ERROR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNO_ERROR, (intptr_t)0 },
    { "INVALID_ENUM", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_ENUM, (intptr_t)0 },
    { "INVALID_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_VALUE, (intptr_t)0 },
    { "INVALID_OPERATION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_OPERATION, (intptr_t)0 },
    { "OUT_OF_MEMORY", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DOUT_OF_MEMORY, (intptr_t)0 },
    { "CW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCW, (intptr_t)0 },
    { "CCW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCCW, (intptr_t)0 },
    { "LINE_WIDTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINE_WIDTH, (intptr_t)0 },
    { "ALIASED_POINT_SIZE_RANGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALIASED_POINT_SIZE_RANGE, (intptr_t)0 },
    { "ALIASED_LINE_WIDTH_RANGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALIASED_LINE_WIDTH_RANGE, (intptr_t)0 },
    { "CULL_FACE_MODE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCULL_FACE_MODE, (intptr_t)0 },
    { "FRONT_FACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRONT_FACE, (intptr_t)0 },
    { "DEPTH_RANGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_RANGE, (intptr_t)0 },
    { "DEPTH_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_WRITEMASK, (intptr_t)0 },
    { "DEPTH_CLEAR_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_CLEAR_VALUE, (intptr_t)0 },
    { "DEPTH_FUNC", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_FUNC, (intptr_t)0 },
    { "STENCIL_CLEAR_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_CLEAR_VALUE, (intptr_t)0 },
    { "STENCIL_FUNC", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_FUNC, (intptr_t)0 },
    { "STENCIL_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_FAIL, (intptr_t)0 },
    { "STENCIL_PASS_DEPTH_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_PASS_DEPTH_FAIL, (intptr_t)0 },
    { "STENCIL_PASS_DEPTH_PASS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_PASS_DEPTH_PASS, (intptr_t)0 },
    { "STENCIL_REF", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_REF, (intptr_t)0 },
    { "STENCIL_VALUE_MASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_VALUE_MASK, (intptr_t)0 },
    { "STENCIL_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_WRITEMASK, (intptr_t)0 },
    { "STENCIL_BACK_FUNC", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_FUNC, (intptr_t)0 },
    { "STENCIL_BACK_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_FAIL, (intptr_t)0 },
    { "STENCIL_BACK_PASS_DEPTH_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_PASS_DEPTH_FAIL, (intptr_t)0 },
    { "STENCIL_BACK_PASS_DEPTH_PASS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_PASS_DEPTH_PASS, (intptr_t)0 },
    { "STENCIL_BACK_REF", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_REF, (intptr_t)0 },
    { "STENCIL_BACK_VALUE_MASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_VALUE_MASK, (intptr_t)0 },
    { "STENCIL_BACK_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_WRITEMASK, (intptr_t)0 },
    { "VIEWPORT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVIEWPORT, (intptr_t)0 },
    { "SCISSOR_BOX", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSCISSOR_BOX, (intptr_t)0 },
    { "COLOR_CLEAR_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_CLEAR_VALUE, (intptr_t)0 },
    { "COLOR_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_WRITEMASK, (intptr_t)0 },
    { "UNPACK_ALIGNMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNPACK_ALIGNMENT, (intptr_t)0 },
    { "PACK_ALIGNMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPACK_ALIGNMENT, (intptr_t)0 },
    { "MAX_TEXTURE_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_TEXTURE_SIZE, (intptr_t)0 },
    { "MAX_VIEWPORT_DIMS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VIEWPORT_DIMS, (intptr_t)0 },
    { "SUBPIXEL_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSUBPIXEL_BITS, (intptr_t)0 },
    { "RED_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRED_BITS, (intptr_t)0 },
    { "GREEN_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGREEN_BITS, (intptr_t)0 },
    { "BLUE_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLUE_BITS, (intptr_t)0 },
    { "ALPHA_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALPHA_BITS, (intptr_t)0 },
    { "DEPTH_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_BITS, (intptr_t)0 },
    { "STENCIL_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BITS, (intptr_t)0 },
    { "POLYGON_OFFSET_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOLYGON_OFFSET_UNITS, (intptr_t)0 },
    { "POLYGON_OFFSET_FACTOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOLYGON_OFFSET_FACTOR, (intptr_t)0 },
    { "TEXTURE_BINDING_2D", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_BINDING_2D, (intptr_t)0 },
    { "SAMPLE_BUFFERS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_BUFFERS, (intptr_t)0 },
    { "SAMPLES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLES, (intptr_t)0 },
    { "SAMPLE_COVERAGE_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_COVERAGE_VALUE, (intptr_t)0 },
    { "SAMPLE_COVERAGE_INVERT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_COVERAGE_INVERT, (intptr_t)0 },
    { "NUM_COMPRESSED_TEXTURE_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNUM_COMPRESSED_TEXTURE_FORMATS, (intptr_t)0 },
    { "COMPRESSED_TEXTURE_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOMPRESSED_TEXTURE_FORMATS, (intptr_t)0 },
    { "DONT_CARE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDONT_CARE, (intptr_t)0 },
    { "FASTEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFASTEST, (intptr_t)0 },
    { "NICEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNICEST, (intptr_t)0 },
    { "GENERATE_MIPMAP_HINT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGENERATE_MIPMAP_HINT, (intptr_t)0 },
    { "BYTE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBYTE, (intptr_t)0 },
    { "UNSIGNED_BYTE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_BYTE, (intptr_t)0 },
    { "SHORT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHORT, (intptr_t)0 },
    { "UNSIGNED_SHORT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT, (intptr_t)0 },
    { "INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT, (intptr_t)0 },
    { "UNSIGNED_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_INT, (intptr_t)0 },
    { "FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT, (intptr_t)0 },
    { "FIXED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFIXED, (intptr_t)0 },
    { "DEPTH_COMPONENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_COMPONENT, (intptr_t)0 },
    { "ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALPHA, (intptr_t)0 },
    { "RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGB, (intptr_t)0 },
    { "RGBA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGBA, (intptr_t)0 },
    { "LUMINANCE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLUMINANCE, (intptr_t)0 },
    { "LUMINANCE_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLUMINANCE_ALPHA, (intptr_t)0 },
    { "UNSIGNED_SHORT_4_4_4_4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT_4_4_4_4, (intptr_t)0 },
    { "UNSIGNED_SHORT_5_5_5_1", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT_5_5_5_1, (intptr_t)0 },
    { "UNSIGNED_SHORT_5_6_5", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT_5_6_5, (intptr_t)0 },
    { "FRAGMENT_SHADER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAGMENT_SHADER, (intptr_t)0 },
    { "VERTEX_SHADER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_SHADER, (intptr_t)0 },
    { "MAX_VERTEX_ATTRIBS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VERTEX_ATTRIBS, (intptr_t)0 },
    { "MAX_VERTEX_UNIFORM_VECTORS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VERTEX_UNIFORM_VECTORS, (intptr_t)0 },
    { "MAX_VARYING_VECTORS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VARYING_VECTORS, (intptr_t)0 },
    { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_COMBINED_TEXTURE_IMAGE_UNITS, (intptr_t)0 },
    { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VERTEX_TEXTURE_IMAGE_UNITS, (intptr_t)0 },
    { "MAX_TEXTURE_IMAGE_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_TEXTURE_IMAGE_UNITS, (intptr_t)0 },
    { "MAX_FRAGMENT_UNIFORM_VECTORS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_FRAGMENT_UNIFORM_VECTORS, (intptr_t)0 },
    { "SHADER_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_TYPE, (intptr_t)0 },
    { "DELETE_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDELETE_STATUS, (intptr_t)0 },
    { "LINK_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINK_STATUS, (intptr_t)0 },
    { "VALIDATE_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVALIDATE_STATUS, (intptr_t)0 },
    { "ATTACHED_SHADERS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DATTACHED_SHADERS, (intptr_t)0 },
    { "ACTIVE_UNIFORMS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_UNIFORMS, (intptr_t)0 },
    { "ACTIVE_UNIFORM_MAX_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_UNIFORM_MAX_LENGTH, (intptr_t)0 },
    { "ACTIVE_ATTRIBUTES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_ATTRIBUTES, (intptr_t)0 },
    { "ACTIVE_ATTRIBUTE_MAX_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_ATTRIBUTE_MAX_LENGTH, (intptr_t)0 },
    { "SHADING_LANGUAGE_VERSION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADING_LANGUAGE_VERSION, (intptr_t)0 },
    { "CURRENT_PROGRAM", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCURRENT_PROGRAM, (intptr_t)0 },
    { "NEVER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEVER, (intptr_t)0 },
    { "LESS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLESS, (intptr_t)0 },
    { "EQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DEQUAL, (intptr_t)0 },
    { "LEQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLEQUAL, (intptr_t)0 },
    { "GREATER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGREATER, (intptr_t)0 },
    { "NOTEQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNOTEQUAL, (intptr_t)0 },
    { "GEQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGEQUAL, (intptr_t)0 },
    { "ALWAYS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALWAYS, (intptr_t)0 },
    { "KEEP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DKEEP, (intptr_t)0 },
    { "REPLACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DREPLACE, (intptr_t)0 },
    { "INCR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINCR, (intptr_t)0 },
    { "DECR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDECR, (intptr_t)0 },
    { "INVERT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVERT, (intptr_t)0 },
    { "INCR_WRAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINCR_WRAP, (intptr_t)0 },
    { "DECR_WRAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDECR_WRAP, (intptr_t)0 },
    { "VENDOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVENDOR, (intptr_t)0 },
    { "RENDERER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERER, (intptr_t)0 },
    { "VERSION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERSION, (intptr_t)0 },
    { "EXTENSIONS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DEXTENSIONS, (intptr_t)0 },
    { "NEAREST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEAREST, (intptr_t)0 },
    { "LINEAR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINEAR, (intptr_t)0 },
    { "NEAREST_MIPMAP_NEAREST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEAREST_MIPMAP_NEAREST, (intptr_t)0 },
    { "LINEAR_MIPMAP_NEAREST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINEAR_MIPMAP_NEAREST, (intptr_t)0 },
    { "NEAREST_MIPMAP_LINEAR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEAREST_MIPMAP_LINEAR, (intptr_t)0 },
    { "LINEAR_MIPMAP_LINEAR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINEAR_MIPMAP_LINEAR, (intptr_t)0 },
    { "TEXTURE_MAG_FILTER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_MAG_FILTER, (intptr_t)0 },
    { "TEXTURE_MIN_FILTER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_MIN_FILTER, (intptr_t)0 },
    { "TEXTURE_WRAP_S", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_WRAP_S, (intptr_t)0 },
    { "TEXTURE_WRAP_T", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_WRAP_T, (intptr_t)0 },
    { "TEXTURE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP, (intptr_t)0 },
    { "TEXTURE_BINDING_CUBE_MAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_BINDING_CUBE_MAP, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_POSITIVE_X", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_X, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_NEGATIVE_X", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_X, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_POSITIVE_Y", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_Y, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Y", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_Y, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_POSITIVE_Z", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_Z, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Z", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_Z, (intptr_t)0 },
    { "MAX_CUBE_MAP_TEXTURE_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_CUBE_MAP_TEXTURE_SIZE, (intptr_t)0 },
    { "TEXTURE0", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE0, (intptr_t)0 },
    { "TEXTURE1", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE1, (intptr_t)0 },
    { "TEXTURE2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE2, (intptr_t)0 },
    { "TEXTURE3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE3, (intptr_t)0 },
    { "TEXTURE4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE4, (intptr_t)0 },
    { "TEXTURE5", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE5, (intptr_t)0 },
    { "TEXTURE6", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE6, (intptr_t)0 },
    { "TEXTURE7", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE7, (intptr_t)0 },
    { "TEXTURE8", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE8, (intptr_t)0 },
    { "TEXTURE9", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE9, (intptr_t)0 },
    { "TEXTURE10", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE10, (intptr_t)0 },
    { "TEXTURE11", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE11, (intptr_t)0 },
    { "TEXTURE12", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE12, (intptr_t)0 },
    { "TEXTURE13", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE13, (intptr_t)0 },
    { "TEXTURE14", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE14, (intptr_t)0 },
    { "TEXTURE15", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE15, (intptr_t)0 },
    { "TEXTURE16", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE16, (intptr_t)0 },
    { "TEXTURE17", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE17, (intptr_t)0 },
    { "TEXTURE18", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE18, (intptr_t)0 },
    { "TEXTURE19", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE19, (intptr_t)0 },
    { "TEXTURE20", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE20, (intptr_t)0 },
    { "TEXTURE21", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE21, (intptr_t)0 },
    { "TEXTURE22", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE22, (intptr_t)0 },
    { "TEXTURE23", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE23, (intptr_t)0 },
    { "TEXTURE24", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE24, (intptr_t)0 },
    { "TEXTURE25", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE25, (intptr_t)0 },
    { "TEXTURE26", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE26, (intptr_t)0 },
    { "TEXTURE27", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE27, (intptr_t)0 },
    { "TEXTURE28", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE28, (intptr_t)0 },
    { "TEXTURE29", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE29, (intptr_t)0 },
    { "TEXTURE30", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE30, (intptr_t)0 },
    { "TEXTURE31", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE31, (intptr_t)0 },
    { "ACTIVE_TEXTURE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_TEXTURE, (intptr_t)0 },
    { "REPEAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DREPEAT, (intptr_t)0 },
    { "CLAMP_TO_EDGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCLAMP_TO_EDGE, (intptr_t)0 },
    { "MIRRORED_REPEAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMIRRORED_REPEAT, (intptr_t)0 },
    { "FLOAT_VEC2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_VEC2, (intptr_t)0 },
    { "FLOAT_VEC3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_VEC3, (intptr_t)0 },
    { "FLOAT_VEC4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_VEC4, (intptr_t)0 },
    { "INT_VEC2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT_VEC2, (intptr_t)0 },
    { "INT_VEC3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT_VEC3, (intptr_t)0 },
    { "INT_VEC4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT_VEC4, (intptr_t)0 },
    { "BOOL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL, (intptr_t)0 },
    { "BOOL_VEC2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL_VEC2, (intptr_t)0 },
    { "BOOL_VEC3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL_VEC3, (intptr_t)0 },
    { "BOOL_VEC4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL_VEC4, (intptr_t)0 },
    { "FLOAT_MAT2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_MAT2, (intptr_t)0 },
    { "FLOAT_MAT3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_MAT3, (intptr_t)0 },
    { "FLOAT_MAT4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_MAT4, (intptr_t)0 },
    { "SAMPLER_2D", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLER_2D, (intptr_t)0 },
    { "SAMPLER_CUBE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLER_CUBE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_ENABLED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_ENABLED, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_SIZE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_STRIDE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_STRIDE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_TYPE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_NORMALIZED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_NORMALIZED, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_POINTER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_POINTER, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_BUFFER_BINDING, (intptr_t)0 },
    { "IMPLEMENTATION_COLOR_READ_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DIMPLEMENTATION_COLOR_READ_TYPE, (intptr_t)0 },
    { "IMPLEMENTATION_COLOR_READ_FORMAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DIMPLEMENTATION_COLOR_READ_FORMAT, (intptr_t)0 },
    { "COMPILE_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOMPILE_STATUS, (intptr_t)0 },
    { "INFO_LOG_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINFO_LOG_LENGTH, (intptr_t)0 },
    { "SHADER_SOURCE_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_SOURCE_LENGTH, (intptr_t)0 },
    { "SHADER_COMPILER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_COMPILER, (intptr_t)0 },
    { "SHADER_BINARY_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_BINARY_FORMATS, (intptr_t)0 },
    { "NUM_SHADER_BINARY_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNUM_SHADER_BINARY_FORMATS, (intptr_t)0 },
    { "LOW_FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLOW_FLOAT, (intptr_t)0 },
    { "MEDIUM_FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMEDIUM_FLOAT, (intptr_t)0 },
    { "HIGH_FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DHIGH_FLOAT, (intptr_t)0 },
    { "LOW_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLOW_INT, (intptr_t)0 },
    { "MEDIUM_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMEDIUM_INT, (intptr_t)0 },
    { "HIGH_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DHIGH_INT, (intptr_t)0 },
    { "FRAMEBUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER, (intptr_t)0 },
    { "RENDERBUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER, (intptr_t)0 },
    { "RGBA4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGBA4, (intptr_t)0 },
    { "RGB5_A1", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGB5_A1, (intptr_t)0 },
    { "RGB565", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGB565, (intptr_t)0 },
    { "DEPTH_COMPONENT16", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_COMPONENT16, (intptr_t)0 },
    { "STENCIL_INDEX", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_INDEX, (intptr_t)0 },
    { "STENCIL_INDEX8", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_INDEX8, (intptr_t)0 },
    { "RENDERBUFFER_WIDTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_WIDTH, (intptr_t)0 },
    { "RENDERBUFFER_HEIGHT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_HEIGHT, (intptr_t)0 },
    { "RENDERBUFFER_INTERNAL_FORMAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_INTERNAL_FORMAT, (intptr_t)0 },
    { "RENDERBUFFER_RED_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_RED_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_GREEN_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_GREEN_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_BLUE_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_BLUE_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_ALPHA_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_ALPHA_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_DEPTH_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_DEPTH_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_STENCIL_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_STENCIL_SIZE, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_OBJECT_NAME, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, (intptr_t)0 },
    { "COLOR_ATTACHMENT0", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_ATTACHMENT0, (intptr_t)0 },
    { "DEPTH_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_ATTACHMENT, (intptr_t)0 },
    { "STENCIL_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_ATTACHMENT, (intptr_t)0 },
    { "NONE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNONE, (intptr_t)0 },
    { "FRAMEBUFFER_COMPLETE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_COMPLETE, (intptr_t)0 },
    { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_ATTACHMENT, (intptr_t)0 },
    { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, (intptr_t)0 },
    { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_DIMENSIONS, (intptr_t)0 },
    { "FRAMEBUFFER_UNSUPPORTED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_UNSUPPORTED, (intptr_t)0 },
    { "FRAMEBUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_BINDING, (intptr_t)0 },
    { "RENDERBUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_BINDING, (intptr_t)0 },
    { "MAX_RENDERBUFFER_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_RENDERBUFFER_SIZE, (intptr_t)0 },
    { "INVALID_FRAMEBUFFER_OPERATION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_FRAMEBUFFER_OPERATION, (intptr_t)0 },
    { 0, 0, 0, 0 }
};

static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext3DConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
    { 32767, JSCanvasRenderingContext3DConstructorTableValues, 0 };
#else
    { 1063, 1023, JSCanvasRenderingContext3DConstructorTableValues, 0 };
#endif

class JSCanvasRenderingContext3DConstructor : public DOMConstructorObject {
public:
    JSCanvasRenderingContext3DConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
        : DOMConstructorObject(JSCanvasRenderingContext3DConstructor::createStructure(globalObject->objectPrototype()), globalObject)
    {
        putDirect(exec->propertyNames().prototype, JSCanvasRenderingContext3DPrototype::self(exec, globalObject), None);
    }
    virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
    virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
    virtual const ClassInfo* classInfo() const { return &s_info; }
    static const ClassInfo s_info;

    static PassRefPtr<Structure> createStructure(JSValue proto) 
    { 
        return Structure::create(proto, TypeInfo(ObjectType, StructureFlags)); 
    }
    
protected:
    static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | DOMConstructorObject::StructureFlags;
};

const ClassInfo JSCanvasRenderingContext3DConstructor::s_info = { "CanvasRenderingContext3DConstructor", 0, &JSCanvasRenderingContext3DConstructorTable, 0 };

bool JSCanvasRenderingContext3DConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
{
    return getStaticValueSlot<JSCanvasRenderingContext3DConstructor, DOMObject>(exec, &JSCanvasRenderingContext3DConstructorTable, this, propertyName, slot);
}

bool JSCanvasRenderingContext3DConstructor::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
{
    return getStaticValueDescriptor<JSCanvasRenderingContext3DConstructor, DOMObject>(exec, &JSCanvasRenderingContext3DConstructorTable, this, propertyName, descriptor);
}

/* Hash table for prototype */

static const HashTableValue JSCanvasRenderingContext3DPrototypeTableValues[453] =
{
    { "DEPTH_BUFFER_BIT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_BUFFER_BIT, (intptr_t)0 },
    { "STENCIL_BUFFER_BIT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BUFFER_BIT, (intptr_t)0 },
    { "COLOR_BUFFER_BIT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_BUFFER_BIT, (intptr_t)0 },
    { "FALSE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFALSE, (intptr_t)0 },
    { "TRUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRUE, (intptr_t)0 },
    { "POINTS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOINTS, (intptr_t)0 },
    { "LINES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINES, (intptr_t)0 },
    { "LINE_LOOP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINE_LOOP, (intptr_t)0 },
    { "LINE_STRIP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINE_STRIP, (intptr_t)0 },
    { "TRIANGLES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRIANGLES, (intptr_t)0 },
    { "TRIANGLE_STRIP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRIANGLE_STRIP, (intptr_t)0 },
    { "TRIANGLE_FAN", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTRIANGLE_FAN, (intptr_t)0 },
    { "ZERO", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DZERO, (intptr_t)0 },
    { "ONE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE, (intptr_t)0 },
    { "SRC_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSRC_COLOR, (intptr_t)0 },
    { "ONE_MINUS_SRC_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_SRC_COLOR, (intptr_t)0 },
    { "SRC_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSRC_ALPHA, (intptr_t)0 },
    { "ONE_MINUS_SRC_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_SRC_ALPHA, (intptr_t)0 },
    { "DST_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDST_ALPHA, (intptr_t)0 },
    { "ONE_MINUS_DST_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_DST_ALPHA, (intptr_t)0 },
    { "DST_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDST_COLOR, (intptr_t)0 },
    { "ONE_MINUS_DST_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_DST_COLOR, (intptr_t)0 },
    { "SRC_ALPHA_SATURATE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSRC_ALPHA_SATURATE, (intptr_t)0 },
    { "FUNC_ADD", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFUNC_ADD, (intptr_t)0 },
    { "BLEND_EQUATION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_EQUATION, (intptr_t)0 },
    { "BLEND_EQUATION_RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_EQUATION_RGB, (intptr_t)0 },
    { "BLEND_EQUATION_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_EQUATION_ALPHA, (intptr_t)0 },
    { "FUNC_SUBTRACT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFUNC_SUBTRACT, (intptr_t)0 },
    { "FUNC_REVERSE_SUBTRACT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFUNC_REVERSE_SUBTRACT, (intptr_t)0 },
    { "BLEND_DST_RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_DST_RGB, (intptr_t)0 },
    { "BLEND_SRC_RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_SRC_RGB, (intptr_t)0 },
    { "BLEND_DST_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_DST_ALPHA, (intptr_t)0 },
    { "BLEND_SRC_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_SRC_ALPHA, (intptr_t)0 },
    { "CONSTANT_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCONSTANT_COLOR, (intptr_t)0 },
    { "ONE_MINUS_CONSTANT_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_CONSTANT_COLOR, (intptr_t)0 },
    { "CONSTANT_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCONSTANT_ALPHA, (intptr_t)0 },
    { "ONE_MINUS_CONSTANT_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DONE_MINUS_CONSTANT_ALPHA, (intptr_t)0 },
    { "BLEND_COLOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND_COLOR, (intptr_t)0 },
    { "ARRAY_BUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DARRAY_BUFFER, (intptr_t)0 },
    { "ELEMENT_ARRAY_BUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DELEMENT_ARRAY_BUFFER, (intptr_t)0 },
    { "ARRAY_BUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DARRAY_BUFFER_BINDING, (intptr_t)0 },
    { "ELEMENT_ARRAY_BUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DELEMENT_ARRAY_BUFFER_BINDING, (intptr_t)0 },
    { "STREAM_DRAW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTREAM_DRAW, (intptr_t)0 },
    { "STATIC_DRAW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTATIC_DRAW, (intptr_t)0 },
    { "DYNAMIC_DRAW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDYNAMIC_DRAW, (intptr_t)0 },
    { "BUFFER_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBUFFER_SIZE, (intptr_t)0 },
    { "BUFFER_USAGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBUFFER_USAGE, (intptr_t)0 },
    { "CURRENT_VERTEX_ATTRIB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCURRENT_VERTEX_ATTRIB, (intptr_t)0 },
    { "FRONT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRONT, (intptr_t)0 },
    { "BACK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBACK, (intptr_t)0 },
    { "FRONT_AND_BACK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRONT_AND_BACK, (intptr_t)0 },
    { "TEXTURE_2D", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_2D, (intptr_t)0 },
    { "CULL_FACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCULL_FACE, (intptr_t)0 },
    { "BLEND", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLEND, (intptr_t)0 },
    { "DITHER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDITHER, (intptr_t)0 },
    { "STENCIL_TEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_TEST, (intptr_t)0 },
    { "DEPTH_TEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_TEST, (intptr_t)0 },
    { "SCISSOR_TEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSCISSOR_TEST, (intptr_t)0 },
    { "POLYGON_OFFSET_FILL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOLYGON_OFFSET_FILL, (intptr_t)0 },
    { "SAMPLE_ALPHA_TO_COVERAGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_ALPHA_TO_COVERAGE, (intptr_t)0 },
    { "SAMPLE_COVERAGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_COVERAGE, (intptr_t)0 },
    { "NO_ERROR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNO_ERROR, (intptr_t)0 },
    { "INVALID_ENUM", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_ENUM, (intptr_t)0 },
    { "INVALID_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_VALUE, (intptr_t)0 },
    { "INVALID_OPERATION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_OPERATION, (intptr_t)0 },
    { "OUT_OF_MEMORY", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DOUT_OF_MEMORY, (intptr_t)0 },
    { "CW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCW, (intptr_t)0 },
    { "CCW", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCCW, (intptr_t)0 },
    { "LINE_WIDTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINE_WIDTH, (intptr_t)0 },
    { "ALIASED_POINT_SIZE_RANGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALIASED_POINT_SIZE_RANGE, (intptr_t)0 },
    { "ALIASED_LINE_WIDTH_RANGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALIASED_LINE_WIDTH_RANGE, (intptr_t)0 },
    { "CULL_FACE_MODE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCULL_FACE_MODE, (intptr_t)0 },
    { "FRONT_FACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRONT_FACE, (intptr_t)0 },
    { "DEPTH_RANGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_RANGE, (intptr_t)0 },
    { "DEPTH_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_WRITEMASK, (intptr_t)0 },
    { "DEPTH_CLEAR_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_CLEAR_VALUE, (intptr_t)0 },
    { "DEPTH_FUNC", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_FUNC, (intptr_t)0 },
    { "STENCIL_CLEAR_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_CLEAR_VALUE, (intptr_t)0 },
    { "STENCIL_FUNC", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_FUNC, (intptr_t)0 },
    { "STENCIL_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_FAIL, (intptr_t)0 },
    { "STENCIL_PASS_DEPTH_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_PASS_DEPTH_FAIL, (intptr_t)0 },
    { "STENCIL_PASS_DEPTH_PASS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_PASS_DEPTH_PASS, (intptr_t)0 },
    { "STENCIL_REF", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_REF, (intptr_t)0 },
    { "STENCIL_VALUE_MASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_VALUE_MASK, (intptr_t)0 },
    { "STENCIL_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_WRITEMASK, (intptr_t)0 },
    { "STENCIL_BACK_FUNC", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_FUNC, (intptr_t)0 },
    { "STENCIL_BACK_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_FAIL, (intptr_t)0 },
    { "STENCIL_BACK_PASS_DEPTH_FAIL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_PASS_DEPTH_FAIL, (intptr_t)0 },
    { "STENCIL_BACK_PASS_DEPTH_PASS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_PASS_DEPTH_PASS, (intptr_t)0 },
    { "STENCIL_BACK_REF", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_REF, (intptr_t)0 },
    { "STENCIL_BACK_VALUE_MASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_VALUE_MASK, (intptr_t)0 },
    { "STENCIL_BACK_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BACK_WRITEMASK, (intptr_t)0 },
    { "VIEWPORT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVIEWPORT, (intptr_t)0 },
    { "SCISSOR_BOX", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSCISSOR_BOX, (intptr_t)0 },
    { "COLOR_CLEAR_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_CLEAR_VALUE, (intptr_t)0 },
    { "COLOR_WRITEMASK", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_WRITEMASK, (intptr_t)0 },
    { "UNPACK_ALIGNMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNPACK_ALIGNMENT, (intptr_t)0 },
    { "PACK_ALIGNMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPACK_ALIGNMENT, (intptr_t)0 },
    { "MAX_TEXTURE_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_TEXTURE_SIZE, (intptr_t)0 },
    { "MAX_VIEWPORT_DIMS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VIEWPORT_DIMS, (intptr_t)0 },
    { "SUBPIXEL_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSUBPIXEL_BITS, (intptr_t)0 },
    { "RED_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRED_BITS, (intptr_t)0 },
    { "GREEN_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGREEN_BITS, (intptr_t)0 },
    { "BLUE_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBLUE_BITS, (intptr_t)0 },
    { "ALPHA_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALPHA_BITS, (intptr_t)0 },
    { "DEPTH_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_BITS, (intptr_t)0 },
    { "STENCIL_BITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_BITS, (intptr_t)0 },
    { "POLYGON_OFFSET_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOLYGON_OFFSET_UNITS, (intptr_t)0 },
    { "POLYGON_OFFSET_FACTOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DPOLYGON_OFFSET_FACTOR, (intptr_t)0 },
    { "TEXTURE_BINDING_2D", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_BINDING_2D, (intptr_t)0 },
    { "SAMPLE_BUFFERS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_BUFFERS, (intptr_t)0 },
    { "SAMPLES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLES, (intptr_t)0 },
    { "SAMPLE_COVERAGE_VALUE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_COVERAGE_VALUE, (intptr_t)0 },
    { "SAMPLE_COVERAGE_INVERT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLE_COVERAGE_INVERT, (intptr_t)0 },
    { "NUM_COMPRESSED_TEXTURE_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNUM_COMPRESSED_TEXTURE_FORMATS, (intptr_t)0 },
    { "COMPRESSED_TEXTURE_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOMPRESSED_TEXTURE_FORMATS, (intptr_t)0 },
    { "DONT_CARE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDONT_CARE, (intptr_t)0 },
    { "FASTEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFASTEST, (intptr_t)0 },
    { "NICEST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNICEST, (intptr_t)0 },
    { "GENERATE_MIPMAP_HINT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGENERATE_MIPMAP_HINT, (intptr_t)0 },
    { "BYTE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBYTE, (intptr_t)0 },
    { "UNSIGNED_BYTE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_BYTE, (intptr_t)0 },
    { "SHORT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHORT, (intptr_t)0 },
    { "UNSIGNED_SHORT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT, (intptr_t)0 },
    { "INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT, (intptr_t)0 },
    { "UNSIGNED_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_INT, (intptr_t)0 },
    { "FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT, (intptr_t)0 },
    { "FIXED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFIXED, (intptr_t)0 },
    { "DEPTH_COMPONENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_COMPONENT, (intptr_t)0 },
    { "ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALPHA, (intptr_t)0 },
    { "RGB", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGB, (intptr_t)0 },
    { "RGBA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGBA, (intptr_t)0 },
    { "LUMINANCE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLUMINANCE, (intptr_t)0 },
    { "LUMINANCE_ALPHA", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLUMINANCE_ALPHA, (intptr_t)0 },
    { "UNSIGNED_SHORT_4_4_4_4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT_4_4_4_4, (intptr_t)0 },
    { "UNSIGNED_SHORT_5_5_5_1", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT_5_5_5_1, (intptr_t)0 },
    { "UNSIGNED_SHORT_5_6_5", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DUNSIGNED_SHORT_5_6_5, (intptr_t)0 },
    { "FRAGMENT_SHADER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAGMENT_SHADER, (intptr_t)0 },
    { "VERTEX_SHADER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_SHADER, (intptr_t)0 },
    { "MAX_VERTEX_ATTRIBS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VERTEX_ATTRIBS, (intptr_t)0 },
    { "MAX_VERTEX_UNIFORM_VECTORS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VERTEX_UNIFORM_VECTORS, (intptr_t)0 },
    { "MAX_VARYING_VECTORS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VARYING_VECTORS, (intptr_t)0 },
    { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_COMBINED_TEXTURE_IMAGE_UNITS, (intptr_t)0 },
    { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_VERTEX_TEXTURE_IMAGE_UNITS, (intptr_t)0 },
    { "MAX_TEXTURE_IMAGE_UNITS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_TEXTURE_IMAGE_UNITS, (intptr_t)0 },
    { "MAX_FRAGMENT_UNIFORM_VECTORS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_FRAGMENT_UNIFORM_VECTORS, (intptr_t)0 },
    { "SHADER_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_TYPE, (intptr_t)0 },
    { "DELETE_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDELETE_STATUS, (intptr_t)0 },
    { "LINK_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINK_STATUS, (intptr_t)0 },
    { "VALIDATE_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVALIDATE_STATUS, (intptr_t)0 },
    { "ATTACHED_SHADERS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DATTACHED_SHADERS, (intptr_t)0 },
    { "ACTIVE_UNIFORMS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_UNIFORMS, (intptr_t)0 },
    { "ACTIVE_UNIFORM_MAX_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_UNIFORM_MAX_LENGTH, (intptr_t)0 },
    { "ACTIVE_ATTRIBUTES", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_ATTRIBUTES, (intptr_t)0 },
    { "ACTIVE_ATTRIBUTE_MAX_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_ATTRIBUTE_MAX_LENGTH, (intptr_t)0 },
    { "SHADING_LANGUAGE_VERSION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADING_LANGUAGE_VERSION, (intptr_t)0 },
    { "CURRENT_PROGRAM", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCURRENT_PROGRAM, (intptr_t)0 },
    { "NEVER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEVER, (intptr_t)0 },
    { "LESS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLESS, (intptr_t)0 },
    { "EQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DEQUAL, (intptr_t)0 },
    { "LEQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLEQUAL, (intptr_t)0 },
    { "GREATER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGREATER, (intptr_t)0 },
    { "NOTEQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNOTEQUAL, (intptr_t)0 },
    { "GEQUAL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DGEQUAL, (intptr_t)0 },
    { "ALWAYS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DALWAYS, (intptr_t)0 },
    { "KEEP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DKEEP, (intptr_t)0 },
    { "REPLACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DREPLACE, (intptr_t)0 },
    { "INCR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINCR, (intptr_t)0 },
    { "DECR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDECR, (intptr_t)0 },
    { "INVERT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVERT, (intptr_t)0 },
    { "INCR_WRAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINCR_WRAP, (intptr_t)0 },
    { "DECR_WRAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDECR_WRAP, (intptr_t)0 },
    { "VENDOR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVENDOR, (intptr_t)0 },
    { "RENDERER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERER, (intptr_t)0 },
    { "VERSION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERSION, (intptr_t)0 },
    { "EXTENSIONS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DEXTENSIONS, (intptr_t)0 },
    { "NEAREST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEAREST, (intptr_t)0 },
    { "LINEAR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINEAR, (intptr_t)0 },
    { "NEAREST_MIPMAP_NEAREST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEAREST_MIPMAP_NEAREST, (intptr_t)0 },
    { "LINEAR_MIPMAP_NEAREST", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINEAR_MIPMAP_NEAREST, (intptr_t)0 },
    { "NEAREST_MIPMAP_LINEAR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNEAREST_MIPMAP_LINEAR, (intptr_t)0 },
    { "LINEAR_MIPMAP_LINEAR", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLINEAR_MIPMAP_LINEAR, (intptr_t)0 },
    { "TEXTURE_MAG_FILTER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_MAG_FILTER, (intptr_t)0 },
    { "TEXTURE_MIN_FILTER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_MIN_FILTER, (intptr_t)0 },
    { "TEXTURE_WRAP_S", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_WRAP_S, (intptr_t)0 },
    { "TEXTURE_WRAP_T", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_WRAP_T, (intptr_t)0 },
    { "TEXTURE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP, (intptr_t)0 },
    { "TEXTURE_BINDING_CUBE_MAP", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_BINDING_CUBE_MAP, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_POSITIVE_X", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_X, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_NEGATIVE_X", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_X, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_POSITIVE_Y", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_Y, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Y", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_Y, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_POSITIVE_Z", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_Z, (intptr_t)0 },
    { "TEXTURE_CUBE_MAP_NEGATIVE_Z", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_Z, (intptr_t)0 },
    { "MAX_CUBE_MAP_TEXTURE_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_CUBE_MAP_TEXTURE_SIZE, (intptr_t)0 },
    { "TEXTURE0", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE0, (intptr_t)0 },
    { "TEXTURE1", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE1, (intptr_t)0 },
    { "TEXTURE2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE2, (intptr_t)0 },
    { "TEXTURE3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE3, (intptr_t)0 },
    { "TEXTURE4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE4, (intptr_t)0 },
    { "TEXTURE5", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE5, (intptr_t)0 },
    { "TEXTURE6", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE6, (intptr_t)0 },
    { "TEXTURE7", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE7, (intptr_t)0 },
    { "TEXTURE8", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE8, (intptr_t)0 },
    { "TEXTURE9", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE9, (intptr_t)0 },
    { "TEXTURE10", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE10, (intptr_t)0 },
    { "TEXTURE11", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE11, (intptr_t)0 },
    { "TEXTURE12", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE12, (intptr_t)0 },
    { "TEXTURE13", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE13, (intptr_t)0 },
    { "TEXTURE14", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE14, (intptr_t)0 },
    { "TEXTURE15", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE15, (intptr_t)0 },
    { "TEXTURE16", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE16, (intptr_t)0 },
    { "TEXTURE17", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE17, (intptr_t)0 },
    { "TEXTURE18", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE18, (intptr_t)0 },
    { "TEXTURE19", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE19, (intptr_t)0 },
    { "TEXTURE20", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE20, (intptr_t)0 },
    { "TEXTURE21", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE21, (intptr_t)0 },
    { "TEXTURE22", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE22, (intptr_t)0 },
    { "TEXTURE23", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE23, (intptr_t)0 },
    { "TEXTURE24", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE24, (intptr_t)0 },
    { "TEXTURE25", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE25, (intptr_t)0 },
    { "TEXTURE26", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE26, (intptr_t)0 },
    { "TEXTURE27", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE27, (intptr_t)0 },
    { "TEXTURE28", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE28, (intptr_t)0 },
    { "TEXTURE29", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE29, (intptr_t)0 },
    { "TEXTURE30", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE30, (intptr_t)0 },
    { "TEXTURE31", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DTEXTURE31, (intptr_t)0 },
    { "ACTIVE_TEXTURE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DACTIVE_TEXTURE, (intptr_t)0 },
    { "REPEAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DREPEAT, (intptr_t)0 },
    { "CLAMP_TO_EDGE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCLAMP_TO_EDGE, (intptr_t)0 },
    { "MIRRORED_REPEAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMIRRORED_REPEAT, (intptr_t)0 },
    { "FLOAT_VEC2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_VEC2, (intptr_t)0 },
    { "FLOAT_VEC3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_VEC3, (intptr_t)0 },
    { "FLOAT_VEC4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_VEC4, (intptr_t)0 },
    { "INT_VEC2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT_VEC2, (intptr_t)0 },
    { "INT_VEC3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT_VEC3, (intptr_t)0 },
    { "INT_VEC4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINT_VEC4, (intptr_t)0 },
    { "BOOL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL, (intptr_t)0 },
    { "BOOL_VEC2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL_VEC2, (intptr_t)0 },
    { "BOOL_VEC3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL_VEC3, (intptr_t)0 },
    { "BOOL_VEC4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DBOOL_VEC4, (intptr_t)0 },
    { "FLOAT_MAT2", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_MAT2, (intptr_t)0 },
    { "FLOAT_MAT3", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_MAT3, (intptr_t)0 },
    { "FLOAT_MAT4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFLOAT_MAT4, (intptr_t)0 },
    { "SAMPLER_2D", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLER_2D, (intptr_t)0 },
    { "SAMPLER_CUBE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSAMPLER_CUBE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_ENABLED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_ENABLED, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_SIZE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_STRIDE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_STRIDE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_TYPE, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_NORMALIZED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_NORMALIZED, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_POINTER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_POINTER, (intptr_t)0 },
    { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_BUFFER_BINDING, (intptr_t)0 },
    { "IMPLEMENTATION_COLOR_READ_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DIMPLEMENTATION_COLOR_READ_TYPE, (intptr_t)0 },
    { "IMPLEMENTATION_COLOR_READ_FORMAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DIMPLEMENTATION_COLOR_READ_FORMAT, (intptr_t)0 },
    { "COMPILE_STATUS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOMPILE_STATUS, (intptr_t)0 },
    { "INFO_LOG_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINFO_LOG_LENGTH, (intptr_t)0 },
    { "SHADER_SOURCE_LENGTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_SOURCE_LENGTH, (intptr_t)0 },
    { "SHADER_COMPILER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_COMPILER, (intptr_t)0 },
    { "SHADER_BINARY_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSHADER_BINARY_FORMATS, (intptr_t)0 },
    { "NUM_SHADER_BINARY_FORMATS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNUM_SHADER_BINARY_FORMATS, (intptr_t)0 },
    { "LOW_FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLOW_FLOAT, (intptr_t)0 },
    { "MEDIUM_FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMEDIUM_FLOAT, (intptr_t)0 },
    { "HIGH_FLOAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DHIGH_FLOAT, (intptr_t)0 },
    { "LOW_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DLOW_INT, (intptr_t)0 },
    { "MEDIUM_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMEDIUM_INT, (intptr_t)0 },
    { "HIGH_INT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DHIGH_INT, (intptr_t)0 },
    { "FRAMEBUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER, (intptr_t)0 },
    { "RENDERBUFFER", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER, (intptr_t)0 },
    { "RGBA4", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGBA4, (intptr_t)0 },
    { "RGB5_A1", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGB5_A1, (intptr_t)0 },
    { "RGB565", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRGB565, (intptr_t)0 },
    { "DEPTH_COMPONENT16", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_COMPONENT16, (intptr_t)0 },
    { "STENCIL_INDEX", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_INDEX, (intptr_t)0 },
    { "STENCIL_INDEX8", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_INDEX8, (intptr_t)0 },
    { "RENDERBUFFER_WIDTH", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_WIDTH, (intptr_t)0 },
    { "RENDERBUFFER_HEIGHT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_HEIGHT, (intptr_t)0 },
    { "RENDERBUFFER_INTERNAL_FORMAT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_INTERNAL_FORMAT, (intptr_t)0 },
    { "RENDERBUFFER_RED_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_RED_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_GREEN_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_GREEN_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_BLUE_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_BLUE_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_ALPHA_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_ALPHA_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_DEPTH_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_DEPTH_SIZE, (intptr_t)0 },
    { "RENDERBUFFER_STENCIL_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_STENCIL_SIZE, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_OBJECT_NAME, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, (intptr_t)0 },
    { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, (intptr_t)0 },
    { "COLOR_ATTACHMENT0", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DCOLOR_ATTACHMENT0, (intptr_t)0 },
    { "DEPTH_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DDEPTH_ATTACHMENT, (intptr_t)0 },
    { "STENCIL_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DSTENCIL_ATTACHMENT, (intptr_t)0 },
    { "NONE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DNONE, (intptr_t)0 },
    { "FRAMEBUFFER_COMPLETE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_COMPLETE, (intptr_t)0 },
    { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_ATTACHMENT, (intptr_t)0 },
    { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, (intptr_t)0 },
    { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_DIMENSIONS, (intptr_t)0 },
    { "FRAMEBUFFER_UNSUPPORTED", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_UNSUPPORTED, (intptr_t)0 },
    { "FRAMEBUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DFRAMEBUFFER_BINDING, (intptr_t)0 },
    { "RENDERBUFFER_BINDING", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DRENDERBUFFER_BINDING, (intptr_t)0 },
    { "MAX_RENDERBUFFER_SIZE", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DMAX_RENDERBUFFER_SIZE, (intptr_t)0 },
    { "INVALID_FRAMEBUFFER_OPERATION", DontDelete|ReadOnly, (intptr_t)jsCanvasRenderingContext3DINVALID_FRAMEBUFFER_OPERATION, (intptr_t)0 },
    { "sizeInBytes", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionSizeInBytes, (intptr_t)1 },
    { "activeTexture", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionActiveTexture, (intptr_t)1 },
    { "attachShader", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionAttachShader, (intptr_t)2 },
    { "bindAttribLocation", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBindAttribLocation, (intptr_t)3 },
    { "bindBuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBindBuffer, (intptr_t)2 },
    { "bindFramebuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBindFramebuffer, (intptr_t)2 },
    { "bindRenderbuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBindRenderbuffer, (intptr_t)2 },
    { "bindTexture", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBindTexture, (intptr_t)2 },
    { "blendColor", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBlendColor, (intptr_t)4 },
    { "blendEquation", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBlendEquation, (intptr_t)1 },
    { "blendEquationSeparate", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBlendEquationSeparate, (intptr_t)2 },
    { "blendFunc", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBlendFunc, (intptr_t)2 },
    { "blendFuncSeparate", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBlendFuncSeparate, (intptr_t)4 },
    { "bufferData", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBufferData, (intptr_t)0 },
    { "bufferSubData", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionBufferSubData, (intptr_t)0 },
    { "checkFramebufferStatus", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCheckFramebufferStatus, (intptr_t)1 },
    { "clear", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionClear, (intptr_t)1 },
    { "clearColor", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionClearColor, (intptr_t)4 },
    { "clearDepth", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionClearDepth, (intptr_t)1 },
    { "clearStencil", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionClearStencil, (intptr_t)1 },
    { "colorMask", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionColorMask, (intptr_t)4 },
    { "compileShader", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCompileShader, (intptr_t)1 },
    { "copyTexImage2D", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCopyTexImage2D, (intptr_t)8 },
    { "copyTexSubImage2D", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCopyTexSubImage2D, (intptr_t)8 },
    { "createBuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCreateBuffer, (intptr_t)0 },
    { "createFramebuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCreateFramebuffer, (intptr_t)0 },
    { "createProgram", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCreateProgram, (intptr_t)0 },
    { "createRenderbuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCreateRenderbuffer, (intptr_t)0 },
    { "createShader", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCreateShader, (intptr_t)1 },
    { "createTexture", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCreateTexture, (intptr_t)0 },
    { "cullFace", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionCullFace, (intptr_t)1 },
    { "deleteBuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDeleteBuffer, (intptr_t)1 },
    { "deleteFramebuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDeleteFramebuffer, (intptr_t)1 },
    { "deleteProgram", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDeleteProgram, (intptr_t)1 },
    { "deleteRenderbuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDeleteRenderbuffer, (intptr_t)1 },
    { "deleteShader", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDeleteShader, (intptr_t)1 },
    { "deleteTexture", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDeleteTexture, (intptr_t)1 },
    { "depthFunc", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDepthFunc, (intptr_t)1 },
    { "depthMask", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDepthMask, (intptr_t)1 },
    { "depthRange", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDepthRange, (intptr_t)2 },
    { "detachShader", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDetachShader, (intptr_t)2 },
    { "disable", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDisable, (intptr_t)1 },
    { "disableVertexAttribArray", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDisableVertexAttribArray, (intptr_t)1 },
    { "drawArrays", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDrawArrays, (intptr_t)3 },
    { "drawElements", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionDrawElements, (intptr_t)4 },
    { "enable", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionEnable, (intptr_t)1 },
    { "enableVertexAttribArray", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionEnableVertexAttribArray, (intptr_t)1 },
    { "finish", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionFinish, (intptr_t)0 },
    { "flush", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionFlush, (intptr_t)0 },
    { "framebufferRenderbuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionFramebufferRenderbuffer, (intptr_t)4 },
    { "framebufferTexture2D", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionFramebufferTexture2D, (intptr_t)5 },
    { "frontFace", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionFrontFace, (intptr_t)1 },
    { "generateMipmap", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGenerateMipmap, (intptr_t)1 },
    { "getActiveAttrib", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetActiveAttrib, (intptr_t)2 },
    { "getActiveUniform", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetActiveUniform, (intptr_t)2 },
    { "getAttribLocation", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetAttribLocation, (intptr_t)2 },
    { "getBoolean", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetBoolean, (intptr_t)1 },
    { "getBooleanv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetBooleanv, (intptr_t)1 },
    { "getBufferParameteri", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetBufferParameteri, (intptr_t)2 },
    { "getBufferParameteriv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetBufferParameteriv, (intptr_t)2 },
    { "getError", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetError, (intptr_t)0 },
    { "getFloat", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetFloat, (intptr_t)1 },
    { "getFloatv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetFloatv, (intptr_t)1 },
    { "getFramebufferAttachmentParameteri", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetFramebufferAttachmentParameteri, (intptr_t)3 },
    { "getFramebufferAttachmentParameteriv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetFramebufferAttachmentParameteriv, (intptr_t)3 },
    { "getInteger", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetInteger, (intptr_t)1 },
    { "getIntegerv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetIntegerv, (intptr_t)1 },
    { "getProgrami", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetProgrami, (intptr_t)2 },
    { "getProgramiv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetProgramiv, (intptr_t)2 },
    { "getProgramInfoLog", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetProgramInfoLog, (intptr_t)1 },
    { "getRenderbufferParameteri", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetRenderbufferParameteri, (intptr_t)2 },
    { "getRenderbufferParameteriv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetRenderbufferParameteriv, (intptr_t)2 },
    { "getShaderi", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetShaderi, (intptr_t)2 },
    { "getShaderiv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetShaderiv, (intptr_t)2 },
    { "getShaderInfoLog", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetShaderInfoLog, (intptr_t)1 },
    { "getShaderSource", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetShaderSource, (intptr_t)1 },
    { "getString", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetString, (intptr_t)1 },
    { "getTexParameterf", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetTexParameterf, (intptr_t)2 },
    { "getTexParameterfv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetTexParameterfv, (intptr_t)2 },
    { "getTexParameteri", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetTexParameteri, (intptr_t)2 },
    { "getTexParameteriv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetTexParameteriv, (intptr_t)2 },
    { "getUniformf", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetUniformf, (intptr_t)2 },
    { "getUniformfv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetUniformfv, (intptr_t)2 },
    { "getUniformi", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetUniformi, (intptr_t)2 },
    { "getUniformiv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetUniformiv, (intptr_t)2 },
    { "getUniformLocation", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetUniformLocation, (intptr_t)2 },
    { "getVertexAttribf", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribf, (intptr_t)2 },
    { "getVertexAttribfv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribfv, (intptr_t)2 },
    { "getVertexAttribi", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribi, (intptr_t)2 },
    { "getVertexAttribiv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribiv, (intptr_t)2 },
    { "getVertexAttribOffset", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribOffset, (intptr_t)2 },
    { "hint", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionHint, (intptr_t)2 },
    { "isBuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsBuffer, (intptr_t)1 },
    { "isEnabled", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsEnabled, (intptr_t)1 },
    { "isFramebuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsFramebuffer, (intptr_t)1 },
    { "isProgram", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsProgram, (intptr_t)1 },
    { "isRenderbuffer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsRenderbuffer, (intptr_t)1 },
    { "isShader", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsShader, (intptr_t)1 },
    { "isTexture", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionIsTexture, (intptr_t)1 },
    { "lineWidth", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionLineWidth, (intptr_t)1 },
    { "linkProgram", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionLinkProgram, (intptr_t)1 },
    { "pixelStorei", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionPixelStorei, (intptr_t)2 },
    { "polygonOffset", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionPolygonOffset, (intptr_t)2 },
    { "readPixels", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionReadPixels, (intptr_t)6 },
    { "releaseShaderCompiler", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionReleaseShaderCompiler, (intptr_t)0 },
    { "renderbufferStorage", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionRenderbufferStorage, (intptr_t)4 },
    { "sampleCoverage", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionSampleCoverage, (intptr_t)2 },
    { "scissor", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionScissor, (intptr_t)4 },
    { "shaderSource", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionShaderSource, (intptr_t)2 },
    { "stencilFunc", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionStencilFunc, (intptr_t)3 },
    { "stencilFuncSeparate", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionStencilFuncSeparate, (intptr_t)4 },
    { "stencilMask", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionStencilMask, (intptr_t)1 },
    { "stencilMaskSeparate", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionStencilMaskSeparate, (intptr_t)2 },
    { "stencilOp", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionStencilOp, (intptr_t)3 },
    { "stencilOpSeparate", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionStencilOpSeparate, (intptr_t)4 },
    { "texParameterf", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionTexParameterf, (intptr_t)3 },
    { "texParameteri", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionTexParameteri, (intptr_t)3 },
    { "texImage2D", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionTexImage2D, (intptr_t)0 },
    { "texSubImage2D", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionTexSubImage2D, (intptr_t)0 },
    { "uniform1f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform1f, (intptr_t)2 },
    { "uniform1fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform1fv, (intptr_t)2 },
    { "uniform1i", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform1i, (intptr_t)2 },
    { "uniform1iv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform1iv, (intptr_t)2 },
    { "uniform2f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform2f, (intptr_t)3 },
    { "uniform2fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform2fv, (intptr_t)2 },
    { "uniform2i", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform2i, (intptr_t)3 },
    { "uniform2iv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform2iv, (intptr_t)2 },
    { "uniform3f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform3f, (intptr_t)4 },
    { "uniform3fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform3fv, (intptr_t)2 },
    { "uniform3i", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform3i, (intptr_t)4 },
    { "uniform3iv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform3iv, (intptr_t)2 },
    { "uniform4f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform4f, (intptr_t)5 },
    { "uniform4fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform4fv, (intptr_t)2 },
    { "uniform4i", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform4i, (intptr_t)5 },
    { "uniform4iv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniform4iv, (intptr_t)2 },
    { "uniformMatrix2fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniformMatrix2fv, (intptr_t)3 },
    { "uniformMatrix3fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniformMatrix3fv, (intptr_t)3 },
    { "uniformMatrix4fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUniformMatrix4fv, (intptr_t)3 },
    { "useProgram", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionUseProgram, (intptr_t)1 },
    { "validateProgram", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionValidateProgram, (intptr_t)1 },
    { "vertexAttrib1f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib1f, (intptr_t)2 },
    { "vertexAttrib1fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib1fv, (intptr_t)2 },
    { "vertexAttrib2f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib2f, (intptr_t)3 },
    { "vertexAttrib2fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib2fv, (intptr_t)2 },
    { "vertexAttrib3f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib3f, (intptr_t)4 },
    { "vertexAttrib3fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib3fv, (intptr_t)2 },
    { "vertexAttrib4f", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib4f, (intptr_t)5 },
    { "vertexAttrib4fv", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib4fv, (intptr_t)2 },
    { "vertexAttribPointer", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionVertexAttribPointer, (intptr_t)6 },
    { "viewport", DontDelete|Function, (intptr_t)jsCanvasRenderingContext3DPrototypeFunctionViewport, (intptr_t)4 },
    { 0, 0, 0, 0 }
};

static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext3DPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
    { 65535, JSCanvasRenderingContext3DPrototypeTableValues, 0 };
#else
    { 1104, 1023, JSCanvasRenderingContext3DPrototypeTableValues, 0 };
#endif

const ClassInfo JSCanvasRenderingContext3DPrototype::s_info = { "CanvasRenderingContext3DPrototype", 0, &JSCanvasRenderingContext3DPrototypeTable, 0 };

JSObject* JSCanvasRenderingContext3DPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
{
    return getDOMPrototype<JSCanvasRenderingContext3D>(exec, globalObject);
}

bool JSCanvasRenderingContext3DPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
{
    return getStaticPropertySlot<JSCanvasRenderingContext3DPrototype, JSObject>(exec, &JSCanvasRenderingContext3DPrototypeTable, this, propertyName, slot);
}

bool JSCanvasRenderingContext3DPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
{
    return getStaticPropertyDescriptor<JSCanvasRenderingContext3DPrototype, JSObject>(exec, &JSCanvasRenderingContext3DPrototypeTable, this, propertyName, descriptor);
}

const ClassInfo JSCanvasRenderingContext3D::s_info = { "CanvasRenderingContext3D", &JSCanvasRenderingContext::s_info, &JSCanvasRenderingContext3DTable, 0 };

JSCanvasRenderingContext3D::JSCanvasRenderingContext3D(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext3D> impl)
    : JSCanvasRenderingContext(structure, globalObject, impl)
{
}

JSObject* JSCanvasRenderingContext3D::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
{
    return new (exec) JSCanvasRenderingContext3DPrototype(JSCanvasRenderingContext3DPrototype::createStructure(JSCanvasRenderingContextPrototype::self(exec, globalObject)));
}

bool JSCanvasRenderingContext3D::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
{
    return getStaticValueSlot<JSCanvasRenderingContext3D, Base>(exec, &JSCanvasRenderingContext3DTable, this, propertyName, slot);
}

bool JSCanvasRenderingContext3D::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
{
    return getStaticValueDescriptor<JSCanvasRenderingContext3D, Base>(exec, &JSCanvasRenderingContext3DTable, this, propertyName, descriptor);
}

JSValue jsCanvasRenderingContext3DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
    JSCanvasRenderingContext3D* domObject = static_cast<JSCanvasRenderingContext3D*>(asObject(slot.slotBase()));
    return JSCanvasRenderingContext3D::getConstructor(exec, domObject->globalObject());
}
JSValue JSCanvasRenderingContext3D::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
    return getDOMConstructor<JSCanvasRenderingContext3DConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionSizeInBytes(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    ExceptionCode ec = 0;
    unsigned type = args.at(0).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->sizeInBytes(type, ec));
    setDOMException(exec, ec);
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionActiveTexture(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned texture = args.at(0).toInt32(exec);

    imp->activeTexture(texture);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionAttachShader(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    CanvasShader* shader = toCanvasShader(args.at(1));

    imp->attachShader(program, shader);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBindAttribLocation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    unsigned index = args.at(1).toInt32(exec);
    const UString& name = args.at(2).toString(exec);

    imp->bindAttribLocation(program, index, name);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBindBuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    CanvasBuffer* buffer = toCanvasBuffer(args.at(1));

    imp->bindBuffer(target, buffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBindFramebuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    CanvasFramebuffer* framebuffer = toCanvasFramebuffer(args.at(1));

    imp->bindFramebuffer(target, framebuffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBindRenderbuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    CanvasRenderbuffer* renderbuffer = toCanvasRenderbuffer(args.at(1));

    imp->bindRenderbuffer(target, renderbuffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBindTexture(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    CanvasTexture* texture = toCanvasTexture(args.at(1));

    imp->bindTexture(target, texture);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBlendColor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double red = args.at(0).toNumber(exec);
    double green = args.at(1).toNumber(exec);
    double blue = args.at(2).toNumber(exec);
    double alpha = args.at(3).toNumber(exec);

    imp->blendColor(red, green, blue, alpha);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBlendEquation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mode = args.at(0).toInt32(exec);

    imp->blendEquation(mode);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBlendEquationSeparate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned modeRGB = args.at(0).toInt32(exec);
    unsigned modeAlpha = args.at(1).toInt32(exec);

    imp->blendEquationSeparate(modeRGB, modeAlpha);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBlendFunc(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned sfactor = args.at(0).toInt32(exec);
    unsigned dfactor = args.at(1).toInt32(exec);

    imp->blendFunc(sfactor, dfactor);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBlendFuncSeparate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned srcRGB = args.at(0).toInt32(exec);
    unsigned dstRGB = args.at(1).toInt32(exec);
    unsigned srcAlpha = args.at(2).toInt32(exec);
    unsigned dstAlpha = args.at(3).toInt32(exec);

    imp->blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBufferData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->bufferData(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionBufferSubData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->bufferSubData(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCheckFramebufferStatus(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->checkFramebufferStatus(target));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionClear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mask = args.at(0).toInt32(exec);

    imp->clear(mask);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionClearColor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double red = args.at(0).toNumber(exec);
    double green = args.at(1).toNumber(exec);
    double blue = args.at(2).toNumber(exec);
    double alpha = args.at(3).toNumber(exec);

    imp->clearColor(red, green, blue, alpha);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionClearDepth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double depth = args.at(0).toNumber(exec);

    imp->clearDepth(depth);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionClearStencil(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int s = args.at(0).toInt32(exec);

    imp->clearStencil(s);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionColorMask(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    bool red = args.at(0).toBoolean(exec);
    bool green = args.at(1).toBoolean(exec);
    bool blue = args.at(2).toBoolean(exec);
    bool alpha = args.at(3).toBoolean(exec);

    imp->colorMask(red, green, blue, alpha);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCompileShader(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));

    imp->compileShader(shader);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCopyTexImage2D(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    int level = args.at(1).toInt32(exec);
    unsigned internalformat = args.at(2).toInt32(exec);
    int x = args.at(3).toInt32(exec);
    int y = args.at(4).toInt32(exec);
    unsigned width = args.at(5).toInt32(exec);
    unsigned height = args.at(6).toInt32(exec);
    int border = args.at(7).toInt32(exec);

    imp->copyTexImage2D(target, level, internalformat, x, y, width, height, border);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCopyTexSubImage2D(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    int level = args.at(1).toInt32(exec);
    int xoffset = args.at(2).toInt32(exec);
    int yoffset = args.at(3).toInt32(exec);
    int x = args.at(4).toInt32(exec);
    int y = args.at(5).toInt32(exec);
    unsigned width = args.at(6).toInt32(exec);
    unsigned height = args.at(7).toInt32(exec);

    imp->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCreateBuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createBuffer()));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCreateFramebuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createFramebuffer()));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCreateProgram(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createProgram()));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCreateRenderbuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createRenderbuffer()));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCreateShader(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned type = args.at(0).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createShader(type)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCreateTexture(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTexture()));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionCullFace(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mode = args.at(0).toInt32(exec);

    imp->cullFace(mode);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDeleteBuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasBuffer* buffer = toCanvasBuffer(args.at(0));

    imp->deleteBuffer(buffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDeleteFramebuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasFramebuffer* framebuffer = toCanvasFramebuffer(args.at(0));

    imp->deleteFramebuffer(framebuffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDeleteProgram(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));

    imp->deleteProgram(program);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDeleteRenderbuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasRenderbuffer* renderbuffer = toCanvasRenderbuffer(args.at(0));

    imp->deleteRenderbuffer(renderbuffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDeleteShader(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));

    imp->deleteShader(shader);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDeleteTexture(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasTexture* texture = toCanvasTexture(args.at(0));

    imp->deleteTexture(texture);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDepthFunc(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned func = args.at(0).toInt32(exec);

    imp->depthFunc(func);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDepthMask(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    bool flag = args.at(0).toBoolean(exec);

    imp->depthMask(flag);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDepthRange(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double zNear = args.at(0).toNumber(exec);
    double zFar = args.at(1).toNumber(exec);

    imp->depthRange(zNear, zFar);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDetachShader(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    CanvasShader* shader = toCanvasShader(args.at(1));

    imp->detachShader(program, shader);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDisable(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned cap = args.at(0).toInt32(exec);

    imp->disable(cap);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDisableVertexAttribArray(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);

    imp->disableVertexAttribArray(index);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDrawArrays(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mode = args.at(0).toInt32(exec);
    int first = args.at(1).toInt32(exec);
    unsigned count = args.at(2).toInt32(exec);

    imp->drawArrays(mode, first, count);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionDrawElements(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mode = args.at(0).toInt32(exec);
    int count = args.at(1).toInt32(exec);
    unsigned type = args.at(2).toInt32(exec);
    unsigned offset = args.at(3).toInt32(exec);

    imp->drawElements(mode, count, type, offset);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionEnable(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned cap = args.at(0).toInt32(exec);

    imp->enable(cap);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionEnableVertexAttribArray(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);

    imp->enableVertexAttribArray(index);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionFinish(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());

    imp->finish();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionFlush(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());

    imp->flush();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionFramebufferRenderbuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned attachment = args.at(1).toInt32(exec);
    unsigned renderbuffertarget = args.at(2).toInt32(exec);
    CanvasRenderbuffer* renderbuffer = toCanvasRenderbuffer(args.at(3));

    imp->framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionFramebufferTexture2D(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned attachment = args.at(1).toInt32(exec);
    unsigned textarget = args.at(2).toInt32(exec);
    CanvasTexture* texture = toCanvasTexture(args.at(3));
    int level = args.at(4).toInt32(exec);

    imp->framebufferTexture2D(target, attachment, textarget, texture, level);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionFrontFace(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mode = args.at(0).toInt32(exec);

    imp->frontFace(mode);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGenerateMipmap(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);

    imp->generateMipmap(target);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetActiveAttrib(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    ExceptionCode ec = 0;
    CanvasProgram* program = toCanvasProgram(args.at(0));
    unsigned index = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getActiveAttrib(program, index, ec)));
    setDOMException(exec, ec);
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetActiveUniform(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    ExceptionCode ec = 0;
    CanvasProgram* program = toCanvasProgram(args.at(0));
    unsigned index = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getActiveUniform(program, index, ec)));
    setDOMException(exec, ec);
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetAttribLocation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    const UString& name = args.at(1).toString(exec);


    JSC::JSValue result = jsNumber(exec, imp->getAttribLocation(program, name));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetBoolean(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);


    JSC::JSValue result = jsBoolean(imp->getBoolean(pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetBooleanv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getBooleanv(pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetBufferParameteri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getBufferParameteri(target, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetBufferParameteriv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getBufferParameteriv(target, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetError(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());


    JSC::JSValue result = jsNumber(exec, imp->getError());
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetFloat(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getFloat(pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetFloatv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getFloatv(pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetFramebufferAttachmentParameteri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned attachment = args.at(1).toInt32(exec);
    unsigned pname = args.at(2).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getFramebufferAttachmentParameteri(target, attachment, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetFramebufferAttachmentParameteriv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned attachment = args.at(1).toInt32(exec);
    unsigned pname = args.at(2).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getFramebufferAttachmentParameteriv(target, attachment, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetInteger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getInteger(pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetIntegerv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getIntegerv(pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetProgrami(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getProgrami(program, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetProgramiv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getProgramiv(program, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetProgramInfoLog(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));


    JSC::JSValue result = jsString(exec, imp->getProgramInfoLog(program));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetRenderbufferParameteri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getRenderbufferParameteri(target, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetRenderbufferParameteriv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRenderbufferParameteriv(target, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetShaderi(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getShaderi(shader, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetShaderiv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getShaderiv(shader, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetShaderInfoLog(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));


    JSC::JSValue result = jsString(exec, imp->getShaderInfoLog(shader));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetShaderSource(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));


    JSC::JSValue result = jsString(exec, imp->getShaderSource(shader));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned name = args.at(0).toInt32(exec);


    JSC::JSValue result = jsString(exec, imp->getString(name));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetTexParameterf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getTexParameterf(target, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetTexParameterfv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getTexParameterfv(target, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetTexParameteri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getTexParameteri(target, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetTexParameteriv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getTexParameteriv(target, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetUniformf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    int location = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getUniformf(program, location));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetUniformfv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    int location = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getUniformfv(program, location)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetUniformi(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    int location = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getUniformi(program, location));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetUniformiv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    int location = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getUniformiv(program, location)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetUniformLocation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));
    const UString& name = args.at(1).toString(exec);


    JSC::JSValue result = jsNumber(exec, imp->getUniformLocation(program, name));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getVertexAttribf(index, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribfv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getVertexAttribfv(index, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribi(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getVertexAttribi(index, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribiv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getVertexAttribiv(index, pname)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionGetVertexAttribOffset(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned index = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);


    JSC::JSValue result = jsNumber(exec, imp->getVertexAttribOffset(index, pname));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionHint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned mode = args.at(1).toInt32(exec);

    imp->hint(target, mode);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsBuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasBuffer* buffer = toCanvasBuffer(args.at(0));


    JSC::JSValue result = jsBoolean(imp->isBuffer(buffer));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned cap = args.at(0).toInt32(exec);


    JSC::JSValue result = jsBoolean(imp->isEnabled(cap));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsFramebuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasFramebuffer* framebuffer = toCanvasFramebuffer(args.at(0));


    JSC::JSValue result = jsBoolean(imp->isFramebuffer(framebuffer));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsProgram(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));


    JSC::JSValue result = jsBoolean(imp->isProgram(program));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsRenderbuffer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasRenderbuffer* renderbuffer = toCanvasRenderbuffer(args.at(0));


    JSC::JSValue result = jsBoolean(imp->isRenderbuffer(renderbuffer));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsShader(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));


    JSC::JSValue result = jsBoolean(imp->isShader(shader));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionIsTexture(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasTexture* texture = toCanvasTexture(args.at(0));


    JSC::JSValue result = jsBoolean(imp->isTexture(texture));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionLineWidth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double width = args.at(0).toNumber(exec);

    imp->lineWidth(width);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionLinkProgram(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));

    imp->linkProgram(program);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionPixelStorei(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned pname = args.at(0).toInt32(exec);
    int param = args.at(1).toInt32(exec);

    imp->pixelStorei(pname, param);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionPolygonOffset(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double factor = args.at(0).toNumber(exec);
    double units = args.at(1).toNumber(exec);

    imp->polygonOffset(factor, units);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionReadPixels(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int x = args.at(0).toInt32(exec);
    int y = args.at(1).toInt32(exec);
    unsigned width = args.at(2).toInt32(exec);
    unsigned height = args.at(3).toInt32(exec);
    unsigned format = args.at(4).toInt32(exec);
    unsigned type = args.at(5).toInt32(exec);


    JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->readPixels(x, y, width, height, format, type)));
    return result;
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionReleaseShaderCompiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());

    imp->releaseShaderCompiler();
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionRenderbufferStorage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned internalformat = args.at(1).toInt32(exec);
    unsigned width = args.at(2).toInt32(exec);
    unsigned height = args.at(3).toInt32(exec);

    imp->renderbufferStorage(target, internalformat, width, height);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionSampleCoverage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    double value = args.at(0).toNumber(exec);
    bool invert = args.at(1).toBoolean(exec);

    imp->sampleCoverage(value, invert);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionScissor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int x = args.at(0).toInt32(exec);
    int y = args.at(1).toInt32(exec);
    unsigned width = args.at(2).toInt32(exec);
    unsigned height = args.at(3).toInt32(exec);

    imp->scissor(x, y, width, height);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionShaderSource(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasShader* shader = toCanvasShader(args.at(0));
    const UString& string = args.at(1).toString(exec);

    imp->shaderSource(shader, string);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionStencilFunc(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned func = args.at(0).toInt32(exec);
    int ref = args.at(1).toInt32(exec);
    unsigned mask = args.at(2).toInt32(exec);

    imp->stencilFunc(func, ref, mask);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionStencilFuncSeparate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned face = args.at(0).toInt32(exec);
    unsigned func = args.at(1).toInt32(exec);
    int ref = args.at(2).toInt32(exec);
    unsigned mask = args.at(3).toInt32(exec);

    imp->stencilFuncSeparate(face, func, ref, mask);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionStencilMask(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned mask = args.at(0).toInt32(exec);

    imp->stencilMask(mask);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionStencilMaskSeparate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned face = args.at(0).toInt32(exec);
    unsigned mask = args.at(1).toInt32(exec);

    imp->stencilMaskSeparate(face, mask);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionStencilOp(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned fail = args.at(0).toInt32(exec);
    unsigned zfail = args.at(1).toInt32(exec);
    unsigned zpass = args.at(2).toInt32(exec);

    imp->stencilOp(fail, zfail, zpass);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionStencilOpSeparate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned face = args.at(0).toInt32(exec);
    unsigned fail = args.at(1).toInt32(exec);
    unsigned zfail = args.at(2).toInt32(exec);
    unsigned zpass = args.at(3).toInt32(exec);

    imp->stencilOpSeparate(face, fail, zfail, zpass);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionTexParameterf(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);
    float param = args.at(2).toFloat(exec);

    imp->texParameterf(target, pname, param);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionTexParameteri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned target = args.at(0).toInt32(exec);
    unsigned pname = args.at(1).toInt32(exec);
    int param = args.at(2).toInt32(exec);

    imp->texParameteri(target, pname, param);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionTexImage2D(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->texImage2D(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionTexSubImage2D(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->texSubImage2D(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform1f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);

    imp->uniform1f(location, x);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform1fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform1fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform1i(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    int x = args.at(1).toInt32(exec);

    imp->uniform1i(location, x);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform1iv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform1iv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform2f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);
    float y = args.at(2).toFloat(exec);

    imp->uniform2f(location, x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform2fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform2fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform2i(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    int x = args.at(1).toInt32(exec);
    int y = args.at(2).toInt32(exec);

    imp->uniform2i(location, x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform2iv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform2iv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform3f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);
    float y = args.at(2).toFloat(exec);
    float z = args.at(3).toFloat(exec);

    imp->uniform3f(location, x, y, z);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform3fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform3fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform3i(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    int x = args.at(1).toInt32(exec);
    int y = args.at(2).toInt32(exec);
    int z = args.at(3).toInt32(exec);

    imp->uniform3i(location, x, y, z);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform3iv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform3iv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform4f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);
    float y = args.at(2).toFloat(exec);
    float z = args.at(3).toFloat(exec);
    float w = args.at(4).toFloat(exec);

    imp->uniform4f(location, x, y, z, w);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform4fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform4fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform4i(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int location = args.at(0).toInt32(exec);
    int x = args.at(1).toInt32(exec);
    int y = args.at(2).toInt32(exec);
    int z = args.at(3).toInt32(exec);
    int w = args.at(4).toInt32(exec);

    imp->uniform4i(location, x, y, z, w);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniform4iv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniform4iv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniformMatrix2fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniformMatrix2fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniformMatrix3fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniformMatrix3fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUniformMatrix4fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->uniformMatrix4fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionUseProgram(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));

    imp->useProgram(program);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionValidateProgram(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    CanvasProgram* program = toCanvasProgram(args.at(0));

    imp->validateProgram(program);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib1f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned indx = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);

    imp->vertexAttrib1f(indx, x);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib1fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->vertexAttrib1fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib2f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned indx = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);
    float y = args.at(2).toFloat(exec);

    imp->vertexAttrib2f(indx, x, y);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib2fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->vertexAttrib2fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib3f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned indx = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);
    float y = args.at(2).toFloat(exec);
    float z = args.at(3).toFloat(exec);

    imp->vertexAttrib3f(indx, x, y, z);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib3fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->vertexAttrib3fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib4f(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned indx = args.at(0).toInt32(exec);
    float x = args.at(1).toFloat(exec);
    float y = args.at(2).toFloat(exec);
    float z = args.at(3).toFloat(exec);
    float w = args.at(4).toFloat(exec);

    imp->vertexAttrib4f(indx, x, y, z, w);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttrib4fv(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    return castedThisObj->vertexAttrib4fv(exec, args);
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionVertexAttribPointer(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    unsigned indx = args.at(0).toInt32(exec);
    int size = args.at(1).toInt32(exec);
    unsigned type = args.at(2).toInt32(exec);
    bool normalized = args.at(3).toBoolean(exec);
    int stride = args.at(4).toInt32(exec);
    unsigned offset = args.at(5).toInt32(exec);

    imp->vertexAttribPointer(indx, size, type, normalized, stride, offset);
    return jsUndefined();
}

JSValue JSC_HOST_CALL jsCanvasRenderingContext3DPrototypeFunctionViewport(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
    UNUSED_PARAM(args);
    if (!thisValue.inherits(&JSCanvasRenderingContext3D::s_info))
        return throwError(exec, TypeError);
    JSCanvasRenderingContext3D* castedThisObj = static_cast<JSCanvasRenderingContext3D*>(asObject(thisValue));
    CanvasRenderingContext3D* imp = static_cast<CanvasRenderingContext3D*>(castedThisObj->impl());
    int x = args.at(0).toInt32(exec);
    int y = args.at(1).toInt32(exec);
    unsigned width = args.at(2).toInt32(exec);
    unsigned height = args.at(3).toInt32(exec);

    imp->viewport(x, y, width, height);
    return jsUndefined();
}

// Constant getters

JSValue jsCanvasRenderingContext3DDEPTH_BUFFER_BIT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x00000100));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BUFFER_BIT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x00000400));
}

JSValue jsCanvasRenderingContext3DCOLOR_BUFFER_BIT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x00004000));
}

JSValue jsCanvasRenderingContext3DFALSE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0));
}

JSValue jsCanvasRenderingContext3DTRUE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(1));
}

JSValue jsCanvasRenderingContext3DPOINTS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0000));
}

JSValue jsCanvasRenderingContext3DLINES(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0001));
}

JSValue jsCanvasRenderingContext3DLINE_LOOP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0002));
}

JSValue jsCanvasRenderingContext3DLINE_STRIP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0003));
}

JSValue jsCanvasRenderingContext3DTRIANGLES(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0004));
}

JSValue jsCanvasRenderingContext3DTRIANGLE_STRIP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0005));
}

JSValue jsCanvasRenderingContext3DTRIANGLE_FAN(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0006));
}

JSValue jsCanvasRenderingContext3DZERO(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0));
}

JSValue jsCanvasRenderingContext3DONE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(1));
}

JSValue jsCanvasRenderingContext3DSRC_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0300));
}

JSValue jsCanvasRenderingContext3DONE_MINUS_SRC_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0301));
}

JSValue jsCanvasRenderingContext3DSRC_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0302));
}

JSValue jsCanvasRenderingContext3DONE_MINUS_SRC_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0303));
}

JSValue jsCanvasRenderingContext3DDST_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0304));
}

JSValue jsCanvasRenderingContext3DONE_MINUS_DST_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0305));
}

JSValue jsCanvasRenderingContext3DDST_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0306));
}

JSValue jsCanvasRenderingContext3DONE_MINUS_DST_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0307));
}

JSValue jsCanvasRenderingContext3DSRC_ALPHA_SATURATE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0308));
}

JSValue jsCanvasRenderingContext3DFUNC_ADD(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8006));
}

JSValue jsCanvasRenderingContext3DBLEND_EQUATION(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8009));
}

JSValue jsCanvasRenderingContext3DBLEND_EQUATION_RGB(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8009));
}

JSValue jsCanvasRenderingContext3DBLEND_EQUATION_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x883D));
}

JSValue jsCanvasRenderingContext3DFUNC_SUBTRACT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x800A));
}

JSValue jsCanvasRenderingContext3DFUNC_REVERSE_SUBTRACT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x800B));
}

JSValue jsCanvasRenderingContext3DBLEND_DST_RGB(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80C8));
}

JSValue jsCanvasRenderingContext3DBLEND_SRC_RGB(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80C9));
}

JSValue jsCanvasRenderingContext3DBLEND_DST_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80CA));
}

JSValue jsCanvasRenderingContext3DBLEND_SRC_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80CB));
}

JSValue jsCanvasRenderingContext3DCONSTANT_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8001));
}

JSValue jsCanvasRenderingContext3DONE_MINUS_CONSTANT_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8002));
}

JSValue jsCanvasRenderingContext3DCONSTANT_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8003));
}

JSValue jsCanvasRenderingContext3DONE_MINUS_CONSTANT_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8004));
}

JSValue jsCanvasRenderingContext3DBLEND_COLOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8005));
}

JSValue jsCanvasRenderingContext3DARRAY_BUFFER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8892));
}

JSValue jsCanvasRenderingContext3DELEMENT_ARRAY_BUFFER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8893));
}

JSValue jsCanvasRenderingContext3DARRAY_BUFFER_BINDING(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8894));
}

JSValue jsCanvasRenderingContext3DELEMENT_ARRAY_BUFFER_BINDING(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8895));
}

JSValue jsCanvasRenderingContext3DSTREAM_DRAW(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x88E0));
}

JSValue jsCanvasRenderingContext3DSTATIC_DRAW(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x88E4));
}

JSValue jsCanvasRenderingContext3DDYNAMIC_DRAW(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x88E8));
}

JSValue jsCanvasRenderingContext3DBUFFER_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8764));
}

JSValue jsCanvasRenderingContext3DBUFFER_USAGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8765));
}

JSValue jsCanvasRenderingContext3DCURRENT_VERTEX_ATTRIB(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8626));
}

JSValue jsCanvasRenderingContext3DFRONT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0404));
}

JSValue jsCanvasRenderingContext3DBACK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0405));
}

JSValue jsCanvasRenderingContext3DFRONT_AND_BACK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0408));
}

JSValue jsCanvasRenderingContext3DTEXTURE_2D(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0DE1));
}

JSValue jsCanvasRenderingContext3DCULL_FACE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B44));
}

JSValue jsCanvasRenderingContext3DBLEND(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0BE2));
}

JSValue jsCanvasRenderingContext3DDITHER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0BD0));
}

JSValue jsCanvasRenderingContext3DSTENCIL_TEST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B90));
}

JSValue jsCanvasRenderingContext3DDEPTH_TEST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B71));
}

JSValue jsCanvasRenderingContext3DSCISSOR_TEST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0C11));
}

JSValue jsCanvasRenderingContext3DPOLYGON_OFFSET_FILL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8037));
}

JSValue jsCanvasRenderingContext3DSAMPLE_ALPHA_TO_COVERAGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x809E));
}

JSValue jsCanvasRenderingContext3DSAMPLE_COVERAGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80A0));
}

JSValue jsCanvasRenderingContext3DNO_ERROR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0));
}

JSValue jsCanvasRenderingContext3DINVALID_ENUM(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0500));
}

JSValue jsCanvasRenderingContext3DINVALID_VALUE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0501));
}

JSValue jsCanvasRenderingContext3DINVALID_OPERATION(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0502));
}

JSValue jsCanvasRenderingContext3DOUT_OF_MEMORY(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0505));
}

JSValue jsCanvasRenderingContext3DCW(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0900));
}

JSValue jsCanvasRenderingContext3DCCW(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0901));
}

JSValue jsCanvasRenderingContext3DLINE_WIDTH(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B21));
}

JSValue jsCanvasRenderingContext3DALIASED_POINT_SIZE_RANGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x846D));
}

JSValue jsCanvasRenderingContext3DALIASED_LINE_WIDTH_RANGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x846E));
}

JSValue jsCanvasRenderingContext3DCULL_FACE_MODE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B45));
}

JSValue jsCanvasRenderingContext3DFRONT_FACE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B46));
}

JSValue jsCanvasRenderingContext3DDEPTH_RANGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B70));
}

JSValue jsCanvasRenderingContext3DDEPTH_WRITEMASK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B72));
}

JSValue jsCanvasRenderingContext3DDEPTH_CLEAR_VALUE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B73));
}

JSValue jsCanvasRenderingContext3DDEPTH_FUNC(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B74));
}

JSValue jsCanvasRenderingContext3DSTENCIL_CLEAR_VALUE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B91));
}

JSValue jsCanvasRenderingContext3DSTENCIL_FUNC(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B92));
}

JSValue jsCanvasRenderingContext3DSTENCIL_FAIL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B94));
}

JSValue jsCanvasRenderingContext3DSTENCIL_PASS_DEPTH_FAIL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B95));
}

JSValue jsCanvasRenderingContext3DSTENCIL_PASS_DEPTH_PASS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B96));
}

JSValue jsCanvasRenderingContext3DSTENCIL_REF(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B97));
}

JSValue jsCanvasRenderingContext3DSTENCIL_VALUE_MASK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B93));
}

JSValue jsCanvasRenderingContext3DSTENCIL_WRITEMASK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0B98));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_FUNC(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8800));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_FAIL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8801));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_PASS_DEPTH_FAIL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8802));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_PASS_DEPTH_PASS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8803));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_REF(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CA3));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_VALUE_MASK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CA4));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BACK_WRITEMASK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CA5));
}

JSValue jsCanvasRenderingContext3DVIEWPORT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0BA2));
}

JSValue jsCanvasRenderingContext3DSCISSOR_BOX(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0C10));
}

JSValue jsCanvasRenderingContext3DCOLOR_CLEAR_VALUE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0C22));
}

JSValue jsCanvasRenderingContext3DCOLOR_WRITEMASK(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0C23));
}

JSValue jsCanvasRenderingContext3DUNPACK_ALIGNMENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0CF5));
}

JSValue jsCanvasRenderingContext3DPACK_ALIGNMENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D05));
}

JSValue jsCanvasRenderingContext3DMAX_TEXTURE_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D33));
}

JSValue jsCanvasRenderingContext3DMAX_VIEWPORT_DIMS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D3A));
}

JSValue jsCanvasRenderingContext3DSUBPIXEL_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D50));
}

JSValue jsCanvasRenderingContext3DRED_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D52));
}

JSValue jsCanvasRenderingContext3DGREEN_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D53));
}

JSValue jsCanvasRenderingContext3DBLUE_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D54));
}

JSValue jsCanvasRenderingContext3DALPHA_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D55));
}

JSValue jsCanvasRenderingContext3DDEPTH_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D56));
}

JSValue jsCanvasRenderingContext3DSTENCIL_BITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0D57));
}

JSValue jsCanvasRenderingContext3DPOLYGON_OFFSET_UNITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2A00));
}

JSValue jsCanvasRenderingContext3DPOLYGON_OFFSET_FACTOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8038));
}

JSValue jsCanvasRenderingContext3DTEXTURE_BINDING_2D(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8069));
}

JSValue jsCanvasRenderingContext3DSAMPLE_BUFFERS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80A8));
}

JSValue jsCanvasRenderingContext3DSAMPLES(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80A9));
}

JSValue jsCanvasRenderingContext3DSAMPLE_COVERAGE_VALUE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80AA));
}

JSValue jsCanvasRenderingContext3DSAMPLE_COVERAGE_INVERT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x80AB));
}

JSValue jsCanvasRenderingContext3DNUM_COMPRESSED_TEXTURE_FORMATS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x86A2));
}

JSValue jsCanvasRenderingContext3DCOMPRESSED_TEXTURE_FORMATS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x86A3));
}

JSValue jsCanvasRenderingContext3DDONT_CARE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1100));
}

JSValue jsCanvasRenderingContext3DFASTEST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1101));
}

JSValue jsCanvasRenderingContext3DNICEST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1102));
}

JSValue jsCanvasRenderingContext3DGENERATE_MIPMAP_HINT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8192));
}

JSValue jsCanvasRenderingContext3DBYTE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1400));
}

JSValue jsCanvasRenderingContext3DUNSIGNED_BYTE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1401));
}

JSValue jsCanvasRenderingContext3DSHORT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1402));
}

JSValue jsCanvasRenderingContext3DUNSIGNED_SHORT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1403));
}

JSValue jsCanvasRenderingContext3DINT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1404));
}

JSValue jsCanvasRenderingContext3DUNSIGNED_INT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1405));
}

JSValue jsCanvasRenderingContext3DFLOAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1406));
}

JSValue jsCanvasRenderingContext3DFIXED(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x140C));
}

JSValue jsCanvasRenderingContext3DDEPTH_COMPONENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1902));
}

JSValue jsCanvasRenderingContext3DALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1906));
}

JSValue jsCanvasRenderingContext3DRGB(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1907));
}

JSValue jsCanvasRenderingContext3DRGBA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1908));
}

JSValue jsCanvasRenderingContext3DLUMINANCE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1909));
}

JSValue jsCanvasRenderingContext3DLUMINANCE_ALPHA(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x190A));
}

JSValue jsCanvasRenderingContext3DUNSIGNED_SHORT_4_4_4_4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8033));
}

JSValue jsCanvasRenderingContext3DUNSIGNED_SHORT_5_5_5_1(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8034));
}

JSValue jsCanvasRenderingContext3DUNSIGNED_SHORT_5_6_5(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8363));
}

JSValue jsCanvasRenderingContext3DFRAGMENT_SHADER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B30));
}

JSValue jsCanvasRenderingContext3DVERTEX_SHADER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B31));
}

JSValue jsCanvasRenderingContext3DMAX_VERTEX_ATTRIBS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8869));
}

JSValue jsCanvasRenderingContext3DMAX_VERTEX_UNIFORM_VECTORS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DFB));
}

JSValue jsCanvasRenderingContext3DMAX_VARYING_VECTORS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DFC));
}

JSValue jsCanvasRenderingContext3DMAX_COMBINED_TEXTURE_IMAGE_UNITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B4D));
}

JSValue jsCanvasRenderingContext3DMAX_VERTEX_TEXTURE_IMAGE_UNITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B4C));
}

JSValue jsCanvasRenderingContext3DMAX_TEXTURE_IMAGE_UNITS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8872));
}

JSValue jsCanvasRenderingContext3DMAX_FRAGMENT_UNIFORM_VECTORS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DFD));
}

JSValue jsCanvasRenderingContext3DSHADER_TYPE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B4F));
}

JSValue jsCanvasRenderingContext3DDELETE_STATUS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B80));
}

JSValue jsCanvasRenderingContext3DLINK_STATUS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B82));
}

JSValue jsCanvasRenderingContext3DVALIDATE_STATUS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B83));
}

JSValue jsCanvasRenderingContext3DATTACHED_SHADERS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B85));
}

JSValue jsCanvasRenderingContext3DACTIVE_UNIFORMS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B86));
}

JSValue jsCanvasRenderingContext3DACTIVE_UNIFORM_MAX_LENGTH(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B87));
}

JSValue jsCanvasRenderingContext3DACTIVE_ATTRIBUTES(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B89));
}

JSValue jsCanvasRenderingContext3DACTIVE_ATTRIBUTE_MAX_LENGTH(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B8A));
}

JSValue jsCanvasRenderingContext3DSHADING_LANGUAGE_VERSION(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B8C));
}

JSValue jsCanvasRenderingContext3DCURRENT_PROGRAM(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B8D));
}

JSValue jsCanvasRenderingContext3DNEVER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0200));
}

JSValue jsCanvasRenderingContext3DLESS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0201));
}

JSValue jsCanvasRenderingContext3DEQUAL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0202));
}

JSValue jsCanvasRenderingContext3DLEQUAL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0203));
}

JSValue jsCanvasRenderingContext3DGREATER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0204));
}

JSValue jsCanvasRenderingContext3DNOTEQUAL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0205));
}

JSValue jsCanvasRenderingContext3DGEQUAL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0206));
}

JSValue jsCanvasRenderingContext3DALWAYS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0207));
}

JSValue jsCanvasRenderingContext3DKEEP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1E00));
}

JSValue jsCanvasRenderingContext3DREPLACE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1E01));
}

JSValue jsCanvasRenderingContext3DINCR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1E02));
}

JSValue jsCanvasRenderingContext3DDECR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1E03));
}

JSValue jsCanvasRenderingContext3DINVERT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x150A));
}

JSValue jsCanvasRenderingContext3DINCR_WRAP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8507));
}

JSValue jsCanvasRenderingContext3DDECR_WRAP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8508));
}

JSValue jsCanvasRenderingContext3DVENDOR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1F00));
}

JSValue jsCanvasRenderingContext3DRENDERER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1F01));
}

JSValue jsCanvasRenderingContext3DVERSION(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1F02));
}

JSValue jsCanvasRenderingContext3DEXTENSIONS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1F03));
}

JSValue jsCanvasRenderingContext3DNEAREST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2600));
}

JSValue jsCanvasRenderingContext3DLINEAR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2601));
}

JSValue jsCanvasRenderingContext3DNEAREST_MIPMAP_NEAREST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2700));
}

JSValue jsCanvasRenderingContext3DLINEAR_MIPMAP_NEAREST(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2701));
}

JSValue jsCanvasRenderingContext3DNEAREST_MIPMAP_LINEAR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2702));
}

JSValue jsCanvasRenderingContext3DLINEAR_MIPMAP_LINEAR(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2703));
}

JSValue jsCanvasRenderingContext3DTEXTURE_MAG_FILTER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2800));
}

JSValue jsCanvasRenderingContext3DTEXTURE_MIN_FILTER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2801));
}

JSValue jsCanvasRenderingContext3DTEXTURE_WRAP_S(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2802));
}

JSValue jsCanvasRenderingContext3DTEXTURE_WRAP_T(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2803));
}

JSValue jsCanvasRenderingContext3DTEXTURE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1702));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8513));
}

JSValue jsCanvasRenderingContext3DTEXTURE_BINDING_CUBE_MAP(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8514));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_X(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8515));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_X(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8516));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_Y(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8517));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_Y(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8518));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_POSITIVE_Z(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8519));
}

JSValue jsCanvasRenderingContext3DTEXTURE_CUBE_MAP_NEGATIVE_Z(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x851A));
}

JSValue jsCanvasRenderingContext3DMAX_CUBE_MAP_TEXTURE_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x851C));
}

JSValue jsCanvasRenderingContext3DTEXTURE0(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C0));
}

JSValue jsCanvasRenderingContext3DTEXTURE1(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C1));
}

JSValue jsCanvasRenderingContext3DTEXTURE2(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C2));
}

JSValue jsCanvasRenderingContext3DTEXTURE3(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C3));
}

JSValue jsCanvasRenderingContext3DTEXTURE4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C4));
}

JSValue jsCanvasRenderingContext3DTEXTURE5(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C5));
}

JSValue jsCanvasRenderingContext3DTEXTURE6(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C6));
}

JSValue jsCanvasRenderingContext3DTEXTURE7(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C7));
}

JSValue jsCanvasRenderingContext3DTEXTURE8(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C8));
}

JSValue jsCanvasRenderingContext3DTEXTURE9(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84C9));
}

JSValue jsCanvasRenderingContext3DTEXTURE10(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84CA));
}

JSValue jsCanvasRenderingContext3DTEXTURE11(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84CB));
}

JSValue jsCanvasRenderingContext3DTEXTURE12(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84CC));
}

JSValue jsCanvasRenderingContext3DTEXTURE13(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84CD));
}

JSValue jsCanvasRenderingContext3DTEXTURE14(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84CE));
}

JSValue jsCanvasRenderingContext3DTEXTURE15(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84CF));
}

JSValue jsCanvasRenderingContext3DTEXTURE16(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D0));
}

JSValue jsCanvasRenderingContext3DTEXTURE17(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D1));
}

JSValue jsCanvasRenderingContext3DTEXTURE18(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D2));
}

JSValue jsCanvasRenderingContext3DTEXTURE19(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D3));
}

JSValue jsCanvasRenderingContext3DTEXTURE20(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D4));
}

JSValue jsCanvasRenderingContext3DTEXTURE21(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D5));
}

JSValue jsCanvasRenderingContext3DTEXTURE22(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D6));
}

JSValue jsCanvasRenderingContext3DTEXTURE23(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D7));
}

JSValue jsCanvasRenderingContext3DTEXTURE24(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D8));
}

JSValue jsCanvasRenderingContext3DTEXTURE25(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84D9));
}

JSValue jsCanvasRenderingContext3DTEXTURE26(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84DA));
}

JSValue jsCanvasRenderingContext3DTEXTURE27(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84DB));
}

JSValue jsCanvasRenderingContext3DTEXTURE28(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84DC));
}

JSValue jsCanvasRenderingContext3DTEXTURE29(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84DD));
}

JSValue jsCanvasRenderingContext3DTEXTURE30(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84DE));
}

JSValue jsCanvasRenderingContext3DTEXTURE31(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84DF));
}

JSValue jsCanvasRenderingContext3DACTIVE_TEXTURE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84E0));
}

JSValue jsCanvasRenderingContext3DREPEAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x2901));
}

JSValue jsCanvasRenderingContext3DCLAMP_TO_EDGE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x812F));
}

JSValue jsCanvasRenderingContext3DMIRRORED_REPEAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8370));
}

JSValue jsCanvasRenderingContext3DFLOAT_VEC2(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B50));
}

JSValue jsCanvasRenderingContext3DFLOAT_VEC3(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B51));
}

JSValue jsCanvasRenderingContext3DFLOAT_VEC4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B52));
}

JSValue jsCanvasRenderingContext3DINT_VEC2(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B53));
}

JSValue jsCanvasRenderingContext3DINT_VEC3(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B54));
}

JSValue jsCanvasRenderingContext3DINT_VEC4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B55));
}

JSValue jsCanvasRenderingContext3DBOOL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B56));
}

JSValue jsCanvasRenderingContext3DBOOL_VEC2(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B57));
}

JSValue jsCanvasRenderingContext3DBOOL_VEC3(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B58));
}

JSValue jsCanvasRenderingContext3DBOOL_VEC4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B59));
}

JSValue jsCanvasRenderingContext3DFLOAT_MAT2(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B5A));
}

JSValue jsCanvasRenderingContext3DFLOAT_MAT3(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B5B));
}

JSValue jsCanvasRenderingContext3DFLOAT_MAT4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B5C));
}

JSValue jsCanvasRenderingContext3DSAMPLER_2D(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B5E));
}

JSValue jsCanvasRenderingContext3DSAMPLER_CUBE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B60));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_ENABLED(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8622));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8623));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_STRIDE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8624));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_TYPE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8625));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_NORMALIZED(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x886A));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_POINTER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8645));
}

JSValue jsCanvasRenderingContext3DVERTEX_ATTRIB_ARRAY_BUFFER_BINDING(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x889F));
}

JSValue jsCanvasRenderingContext3DIMPLEMENTATION_COLOR_READ_TYPE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B9A));
}

JSValue jsCanvasRenderingContext3DIMPLEMENTATION_COLOR_READ_FORMAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B9B));
}

JSValue jsCanvasRenderingContext3DCOMPILE_STATUS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B81));
}

JSValue jsCanvasRenderingContext3DINFO_LOG_LENGTH(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B84));
}

JSValue jsCanvasRenderingContext3DSHADER_SOURCE_LENGTH(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8B88));
}

JSValue jsCanvasRenderingContext3DSHADER_COMPILER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DFA));
}

JSValue jsCanvasRenderingContext3DSHADER_BINARY_FORMATS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF8));
}

JSValue jsCanvasRenderingContext3DNUM_SHADER_BINARY_FORMATS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF9));
}

JSValue jsCanvasRenderingContext3DLOW_FLOAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF0));
}

JSValue jsCanvasRenderingContext3DMEDIUM_FLOAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF1));
}

JSValue jsCanvasRenderingContext3DHIGH_FLOAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF2));
}

JSValue jsCanvasRenderingContext3DLOW_INT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF3));
}

JSValue jsCanvasRenderingContext3DMEDIUM_INT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF4));
}

JSValue jsCanvasRenderingContext3DHIGH_INT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8DF5));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D40));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D41));
}

JSValue jsCanvasRenderingContext3DRGBA4(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8056));
}

JSValue jsCanvasRenderingContext3DRGB5_A1(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8057));
}

JSValue jsCanvasRenderingContext3DRGB565(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D62));
}

JSValue jsCanvasRenderingContext3DDEPTH_COMPONENT16(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x81A5));
}

JSValue jsCanvasRenderingContext3DSTENCIL_INDEX(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x1901));
}

JSValue jsCanvasRenderingContext3DSTENCIL_INDEX8(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D48));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_WIDTH(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D42));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_HEIGHT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D43));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_INTERNAL_FORMAT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D44));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_RED_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D50));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_GREEN_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D51));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_BLUE_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D52));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_ALPHA_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D53));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_DEPTH_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D54));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_STENCIL_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D55));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_OBJECT_TYPE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD0));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_OBJECT_NAME(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD1));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD2));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD3));
}

JSValue jsCanvasRenderingContext3DCOLOR_ATTACHMENT0(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CE0));
}

JSValue jsCanvasRenderingContext3DDEPTH_ATTACHMENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D00));
}

JSValue jsCanvasRenderingContext3DSTENCIL_ATTACHMENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8D20));
}

JSValue jsCanvasRenderingContext3DNONE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_COMPLETE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD5));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_ATTACHMENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD6));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD7));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_INCOMPLETE_DIMENSIONS(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CD9));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_UNSUPPORTED(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CDD));
}

JSValue jsCanvasRenderingContext3DFRAMEBUFFER_BINDING(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CA6));
}

JSValue jsCanvasRenderingContext3DRENDERBUFFER_BINDING(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x8CA7));
}

JSValue jsCanvasRenderingContext3DMAX_RENDERBUFFER_SIZE(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x84E8));
}

JSValue jsCanvasRenderingContext3DINVALID_FRAMEBUFFER_OPERATION(ExecState* exec, const Identifier&, const PropertySlot&)
{
    return jsNumber(exec, static_cast<int>(0x0506));
}


}

#endif // ENABLE(3D_CANVAS)
