OSDN Git Service

Adding some GLES 3.0 specific enums
authorAlexis Hetu <sugoi@google.com>
Tue, 10 Mar 2015 20:42:04 +0000 (16:42 -0400)
committerAlexis Hétu <sugoi@google.com>
Wed, 11 Mar 2015 20:31:20 +0000 (20:31 +0000)
This cl doesn't actually do anything, but we need to establish
exactly how to add new GLES 3.0 specific cases in Swift Shader.

Change-Id: I7f31ea98e0d24f71204a3e1a7a31bf3379741e15
Reviewed-on: https://swiftshader-review.googlesource.com/2560
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
src/OpenGL/libGLESv2/Context.cpp
src/OpenGL/libGLESv2/Context.h
src/OpenGL/libGLESv2/libGLESv2.cpp
src/OpenGL/libGLESv2/main.h
src/Radiance/libRAD/libRAD.cpp

index 253264a..6957b05 100644 (file)
@@ -1,4 +1,4 @@
-// SwiftShader Software Renderer\r
+// SwiftShader Software Renderer\r
 //\r
 // Copyright(c) 2005-2013 TransGaming Inc.\r
 //\r
@@ -92,6 +92,8 @@ Context::Context(const egl::Config *config, const Context *shareContext, EGLint
     mState.sampleCoverageInvert = false;\r
     mState.scissorTest = false;\r
     mState.dither = true;\r
+    mState.primitiveRestartFixedIndex = false;\r
+    mState.rasterizerDiscard = false;\r
     mState.generateMipmapHint = GL_DONT_CARE;\r
     mState.fragmentShaderDerivativeHint = GL_DONT_CARE;\r
 \r
@@ -591,6 +593,28 @@ bool Context::isDitherEnabled() const
     return mState.dither;\r
 }\r
 \r
+void Context::setPrimitiveRestartFixedIndex(bool enabled)\r
+{\r
+    UNIMPLEMENTED();\r
+    mState.primitiveRestartFixedIndex = enabled;\r
+}\r
+\r
+bool Context::isPrimitiveRestartFixedIndexEnabled() const\r
+{\r
+    return mState.primitiveRestartFixedIndex;\r
+}\r
+\r
+void Context::setRasterizerDiscard(bool enabled)\r
+{\r
+    UNIMPLEMENTED();\r
+    mState.rasterizerDiscard = enabled;\r
+}\r
+\r
+bool Context::isRasterizerDiscardEnabled() const\r
+{\r
+    return mState.rasterizerDiscard;\r
+}\r
+\r
 void Context::setLineWidth(GLfloat width)\r
 {\r
     mState.lineWidth = width;\r
@@ -1232,6 +1256,8 @@ bool Context::getBooleanv(GLenum pname, GLboolean *params)
       case GL_DEPTH_TEST:               *params = mState.depthTest;                 break;\r
       case GL_BLEND:                    *params = mState.blend;                     break;\r
       case GL_DITHER:                   *params = mState.dither;                    break;\r
+      case GL_PRIMITIVE_RESTART_FIXED_INDEX: *params = mState.primitiveRestartFixedIndex; break;\r
+      case GL_RASTERIZER_DISCARD:       *params = mState.rasterizerDiscard;         break;\r
       default:\r
         return false;\r
     }\r
@@ -1504,7 +1530,8 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
         }\r
         break;\r
        case GL_TEXTURE_BINDING_3D_OES:\r
-               {\r
+       case GL_TEXTURE_BINDING_2D_ARRAY: // GLES 3.0\r
+           {\r
                        if(mState.activeSampler < 0 || mState.activeSampler > MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1)\r
                        {\r
                                error(GL_INVALID_OPERATION);\r
@@ -1512,7 +1539,229 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
                        }\r
 \r
                        *params = mState.samplerTexture[TEXTURE_3D][mState.activeSampler].name();\r
-       }\r
+               }\r
+               break;\r
+       case GL_COPY_READ_BUFFER_BINDING: // name, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_COPY_WRITE_BUFFER_BINDING: // name, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_DRAW_BUFFER0: // symbolic constant, initial value is GL_BACK​\r
+               UNIMPLEMENTED();\r
+               *params = GL_BACK;\r
+               break;\r
+       case GL_DRAW_BUFFER1: // symbolic constant, initial value is GL_NONE
+       case GL_DRAW_BUFFER2:
+       case GL_DRAW_BUFFER3:
+       case GL_DRAW_BUFFER4:
+       case GL_DRAW_BUFFER5:
+       case GL_DRAW_BUFFER6:
+       case GL_DRAW_BUFFER7:
+       case GL_DRAW_BUFFER8:
+       case GL_DRAW_BUFFER9:
+       case GL_DRAW_BUFFER10:
+       case GL_DRAW_BUFFER11:
+       case GL_DRAW_BUFFER12:
+       case GL_DRAW_BUFFER13:
+       case GL_DRAW_BUFFER14:\r
+       case GL_DRAW_BUFFER15:\r
+               UNIMPLEMENTED();\r
+               *params = GL_NONE;\r
+               break;\r
+       case GL_MAJOR_VERSION: // integer, at least 3\r
+               UNIMPLEMENTED();\r
+               *params = 3;\r
+               break;\r
+       case GL_MAX_3D_TEXTURE_SIZE: // GLint, at least 2048\r
+               UNIMPLEMENTED();\r
+               *params = 2048;\r
+               break;\r
+       case GL_MAX_ARRAY_TEXTURE_LAYERS: // GLint, at least 2048\r
+               UNIMPLEMENTED();\r
+               *params = 2048;\r
+               break;\r
+       case GL_MAX_COLOR_ATTACHMENTS: // integer, at least 8\r
+               UNIMPLEMENTED();\r
+               *params = 8;\r
+               break;\r
+       case GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: // integer, at least 1\r
+               UNIMPLEMENTED();\r
+               *params = 1;\r
+               break;\r
+       case GL_MAX_COMBINED_UNIFORM_BLOCKS: // integer, at least 70\r
+               UNIMPLEMENTED();\r
+               *params = 70;\r
+               break;\r
+       case GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: // integer, at least 1\r
+               UNIMPLEMENTED();\r
+               *params = 1;\r
+               break;\r
+       case GL_MAX_DRAW_BUFFERS: // integer, at least 8\r
+               UNIMPLEMENTED();\r
+               *params = 8;\r
+               break;\r
+       case GL_MAX_ELEMENT_INDEX: // integer, at least 16777215\r
+               UNIMPLEMENTED();\r
+               *params = 16777215;\r
+               break;\r
+       case GL_MAX_ELEMENTS_INDICES: // integer\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_MAX_ELEMENTS_VERTICES: // integer\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_MAX_FRAGMENT_INPUT_COMPONENTS: // integer, at least 128\r
+               UNIMPLEMENTED();\r
+               *params = 128;\r
+               break;\r
+       case GL_MAX_FRAGMENT_UNIFORM_BLOCKS: // integer, at least 12\r
+               UNIMPLEMENTED();\r
+               *params = 12;\r
+               break;\r
+       case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: // integer, at least 1024\r
+               UNIMPLEMENTED();\r
+               *params = 1024;\r
+               break;\r
+       case GL_MAX_PROGRAM_TEXEL_OFFSET: // integer, minimum is 7\r
+               UNIMPLEMENTED();\r
+               *params = 7;\r
+               break;\r
+       case GL_MAX_SERVER_WAIT_TIMEOUT: // integer\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_MAX_TEXTURE_LOD_BIAS: // integer,  at least 2.0\r
+               UNIMPLEMENTED();\r
+               *params = 2;\r
+               break;\r
+       case GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: // integer, at least 64\r
+               UNIMPLEMENTED();\r
+               *params = 64;\r
+               break;\r
+       case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: // integer, at least 4\r
+               UNIMPLEMENTED();\r
+               *params = 4;\r
+               break;\r
+       case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: // integer, at least 4\r
+               UNIMPLEMENTED();\r
+               *params = 4;\r
+               break;\r
+       case GL_MAX_UNIFORM_BLOCK_SIZE: // integer, at least 16384\r
+               UNIMPLEMENTED();\r
+               *params = 16384;\r
+               break;\r
+       case GL_MAX_UNIFORM_BUFFER_BINDINGS: // integer, at least 36\r
+               UNIMPLEMENTED();\r
+               *params = 36;\r
+               break;\r
+       case GL_MAX_VARYING_COMPONENTS: // integer, at least 60\r
+               UNIMPLEMENTED();\r
+               *params = 60;\r
+               break;\r
+       case GL_MAX_VERTEX_OUTPUT_COMPONENTS: // integer,  at least 64\r
+               UNIMPLEMENTED();\r
+               *params = 64;\r
+               break;\r
+       case GL_MAX_VERTEX_UNIFORM_BLOCKS: // integer,  at least 12\r
+               UNIMPLEMENTED();\r
+               *params = 12;\r
+               break;\r
+       case GL_MAX_VERTEX_UNIFORM_COMPONENTS: // integer,  at least 1024\r
+               UNIMPLEMENTED();\r
+               *params = 1024;\r
+               break;\r
+       case GL_MIN_PROGRAM_TEXEL_OFFSET: // integer, maximum is -8\r
+               UNIMPLEMENTED();\r
+               *params = -8;\r
+               break;\r
+       case GL_MINOR_VERSION: // integer\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_NUM_EXTENSIONS: // integer\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_NUM_PROGRAM_BINARY_FORMATS: // integer, at least 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_PACK_ROW_LENGTH: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_PACK_SKIP_PIXELS: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_PACK_SKIP_ROWS: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_PIXEL_PACK_BUFFER_BINDING: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_PIXEL_UNPACK_BUFFER_BINDING: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_PROGRAM_BINARY_FORMATS: // integer[GL_NUM_PROGRAM_BINARY_FORMATS​]\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_READ_BUFFER: // symbolic constant,  initial value is GL_BACK​\r
+               UNIMPLEMENTED();\r
+               *params = GL_BACK;\r
+               break;\r
+       case GL_SAMPLER_BINDING: // GLint, default 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNIFORM_BUFFER_BINDING: // name, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: // integer, defaults to 1\r
+               UNIMPLEMENTED();\r
+               *params = 1;\r
+               break;\r
+       case GL_UNIFORM_BUFFER_SIZE: // indexed[n] 64-bit integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNIFORM_BUFFER_START: // indexed[n] 64-bit integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNPACK_IMAGE_HEIGHT: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNPACK_ROW_LENGTH: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNPACK_SKIP_IMAGES: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNPACK_SKIP_PIXELS: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_UNPACK_SKIP_ROWS: // integer, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
+               break;\r
+       case GL_VERTEX_ARRAY_BINDING: // GLint, initially 0\r
+               UNIMPLEMENTED();\r
+               *params = 0;\r
                break;\r
        default:\r
         return false;\r
@@ -1521,6 +1770,37 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
     return true;\r
 }\r
 \r
+bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param)\r
+{\r
+       UNIMPLEMENTED();\r
+\r
+       switch(pname)\r
+       {\r
+       case GL_TRANSFORM_FEEDBACK_BINDING: // GLint, initially 0\r
+               *param = 0;\r
+               break;\r
+       case GL_TRANSFORM_FEEDBACK_ACTIVE: // boolean, initially GL_FALSE\r
+               *param = GL_FALSE;\r
+               break;\r
+       case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: // name, initially 0\r
+               *param = 0;\r
+               break;\r
+       case GL_TRANSFORM_FEEDBACK_PAUSED: // boolean, initially GL_FALSE\r
+               *param = GL_FALSE;\r
+               break;\r
+       case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: // indexed[n] 64-bit integer, initially 0\r
+               *param = 0;\r
+               break;\r
+       case GL_TRANSFORM_FEEDBACK_BUFFER_START: // indexed[n] 64-bit integer, initially 0\r
+               *param = 0;\r
+               break;\r
+       default:\r
+               return false;\r
+       }\r
+\r
+       return true;\r
+}\r
+\r
 bool Context::getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams)\r
 {\r
     // Please note: the query type returned for DEPTH_CLEAR_VALUE in this implementation\r
@@ -1604,7 +1884,74 @@ bool Context::getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *nu
       case GL_TEXTURE_BINDING_2D:\r
       case GL_TEXTURE_BINDING_CUBE_MAP:\r
       case GL_TEXTURE_BINDING_EXTERNAL_OES:\r
-         case GL_TEXTURE_BINDING_3D_OES:\r
+      case GL_TEXTURE_BINDING_3D_OES:\r
+      case GL_COPY_READ_BUFFER_BINDING:\r
+      case GL_COPY_WRITE_BUFFER_BINDING:\r
+      case GL_DRAW_BUFFER0:
+      case GL_DRAW_BUFFER1:
+      case GL_DRAW_BUFFER2:
+      case GL_DRAW_BUFFER3:
+      case GL_DRAW_BUFFER4:
+      case GL_DRAW_BUFFER5:
+      case GL_DRAW_BUFFER6:
+      case GL_DRAW_BUFFER7:
+      case GL_DRAW_BUFFER8:
+      case GL_DRAW_BUFFER9:
+      case GL_DRAW_BUFFER10:
+      case GL_DRAW_BUFFER11:
+      case GL_DRAW_BUFFER12:
+      case GL_DRAW_BUFFER13:\r
+      case GL_DRAW_BUFFER14:\r
+      case GL_DRAW_BUFFER15:\r
+      case GL_MAJOR_VERSION:\r
+      case GL_MAX_3D_TEXTURE_SIZE:\r
+      case GL_MAX_ARRAY_TEXTURE_LAYERS:\r
+      case GL_MAX_COLOR_ATTACHMENTS:\r
+      case GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:\r
+      case GL_MAX_COMBINED_UNIFORM_BLOCKS:\r
+      case GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:\r
+      case GL_MAX_DRAW_BUFFERS:\r
+      case GL_MAX_ELEMENT_INDEX:\r
+      case GL_MAX_ELEMENTS_INDICES:\r
+      case GL_MAX_ELEMENTS_VERTICES:\r
+      case GL_MAX_FRAGMENT_INPUT_COMPONENTS:\r
+      case GL_MAX_FRAGMENT_UNIFORM_BLOCKS:\r
+      case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS:\r
+      case GL_MAX_PROGRAM_TEXEL_OFFSET:\r
+      case GL_MAX_SERVER_WAIT_TIMEOUT:\r
+      case GL_MAX_TEXTURE_LOD_BIAS:\r
+      case GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:\r
+      case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:\r
+      case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:\r
+      case GL_MAX_UNIFORM_BLOCK_SIZE:\r
+      case GL_MAX_UNIFORM_BUFFER_BINDINGS:\r
+      case GL_MAX_VARYING_COMPONENTS:\r
+      case GL_MAX_VERTEX_OUTPUT_COMPONENTS:\r
+      case GL_MAX_VERTEX_UNIFORM_BLOCKS:\r
+      case GL_MAX_VERTEX_UNIFORM_COMPONENTS:\r
+      case GL_MIN_PROGRAM_TEXEL_OFFSET:\r
+      case GL_MINOR_VERSION:\r
+      case GL_NUM_EXTENSIONS:\r
+      case GL_NUM_PROGRAM_BINARY_FORMATS:\r
+      case GL_PACK_ROW_LENGTH:\r
+      case GL_PACK_SKIP_PIXELS:\r
+      case GL_PACK_SKIP_ROWS:\r
+      case GL_PIXEL_PACK_BUFFER_BINDING:\r
+      case GL_PIXEL_UNPACK_BUFFER_BINDING:\r
+      case GL_PROGRAM_BINARY_FORMATS:\r
+      case GL_READ_BUFFER:\r
+      case GL_SAMPLER_BINDING:\r
+      case GL_TEXTURE_BINDING_2D_ARRAY:\r
+      case GL_UNIFORM_BUFFER_BINDING:\r
+      case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT:\r
+      case GL_UNIFORM_BUFFER_SIZE:\r
+      case GL_UNIFORM_BUFFER_START:\r
+      case GL_UNPACK_IMAGE_HEIGHT:\r
+      case GL_UNPACK_ROW_LENGTH:\r
+      case GL_UNPACK_SKIP_IMAGES:\r
+      case GL_UNPACK_SKIP_PIXELS:\r
+      case GL_UNPACK_SKIP_ROWS:\r
+      case GL_VERTEX_ARRAY_BINDING:\r
         {\r
             *type = GL_INT;\r
             *numParams = 1;\r
@@ -1641,6 +1988,8 @@ bool Context::getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *nu
       case GL_DEPTH_TEST:\r
       case GL_BLEND:\r
       case GL_DITHER:\r
+      case GL_PRIMITIVE_RESTART_FIXED_INDEX:\r
+      case GL_RASTERIZER_DISCARD:\r
         {\r
             *type = GL_BOOL;\r
             *numParams = 1;\r
index 434644c..3a7801e 100644 (file)
@@ -25,6 +25,7 @@
 #define GL_APICALL\r
 #include <GLES2/gl2.h>\r
 #include <GLES2/gl2ext.h>\r
+#include <GLES3/gl3.h>\r
 #define EGLAPI\r
 #include <EGL/egl.h>\r
 \r
@@ -87,6 +88,18 @@ const GLenum compressedTextureFormats[] =
        GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE,\r
        GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE,\r
 #endif\r
+#if (GL_ES_VERSION_3_0)\r
+       GL_COMPRESSED_R11_EAC,
+       GL_COMPRESSED_SIGNED_R11_EAC,
+       GL_COMPRESSED_RG11_EAC,
+       GL_COMPRESSED_SIGNED_RG11_EAC,
+       GL_COMPRESSED_RGB8_ETC2,
+       GL_COMPRESSED_SRGB8_ETC2,
+       GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+       GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+       GL_COMPRESSED_RGBA8_ETC2_EAC,
+       GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\r
+#endif\r
 };\r
 \r
 const GLint NUM_COMPRESSED_TEXTURE_FORMATS = sizeof(compressedTextureFormats) / sizeof(compressedTextureFormats[0]);\r
@@ -208,6 +221,8 @@ struct State
     bool sampleCoverageInvert;\r
     bool scissorTest;\r
     bool dither;\r
+    bool primitiveRestartFixedIndex;\r
+    bool rasterizerDiscard;\r
 \r
     GLfloat lineWidth;\r
 \r
@@ -302,6 +317,12 @@ public:
     void setDither(bool enabled);\r
     bool isDitherEnabled() const;\r
 \r
+    void setPrimitiveRestartFixedIndex(bool enabled);\r
+    bool isPrimitiveRestartFixedIndexEnabled() const;\r
+\r
+    void setRasterizerDiscard(bool enabled);\r
+    bool isRasterizerDiscardEnabled() const;\r
+\r
     void setLineWidth(GLfloat width);\r
 \r
     void setGenerateMipmapHint(GLenum hint);\r
@@ -409,6 +430,7 @@ public:
     bool getFloatv(GLenum pname, GLfloat *params);\r
     bool getIntegerv(GLenum pname, GLint *params);\r
     bool getBooleanv(GLenum pname, GLboolean *params);\r
+       bool getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param);\r
 \r
     bool getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams);\r
 \r
index 7e1526a..f5cd635 100644 (file)
@@ -29,6 +29,7 @@
 #define GL_APICALL\r
 #include <GLES2/gl2.h>\r
 #include <GLES2/gl2ext.h>\r
+#include <GLES3/gl3.h>\r
 \r
 #include <exception>\r
 #include <limits>\r
@@ -1628,6 +1629,8 @@ void GL_APIENTRY glDisable(GLenum cap)
                case GL_DEPTH_TEST:               context->setDepthTest(false);             break;\r
                case GL_BLEND:                    context->setBlend(false);                 break;\r
                case GL_DITHER:                   context->setDither(false);                break;\r
+               case GL_PRIMITIVE_RESTART_FIXED_INDEX: context->setPrimitiveRestartFixedIndex(false); break;\r
+               case GL_RASTERIZER_DISCARD:       context->setRasterizerDiscard(false); break;\r
                default:\r
                        return error(GL_INVALID_ENUM);\r
                }\r
@@ -1715,6 +1718,8 @@ void GL_APIENTRY glEnable(GLenum cap)
                case GL_DEPTH_TEST:               context->setDepthTest(true);             break;\r
                case GL_BLEND:                    context->setBlend(true);                 break;\r
                case GL_DITHER:                   context->setDither(true);                break;\r
+               case GL_PRIMITIVE_RESTART_FIXED_INDEX: context->setPrimitiveRestartFixedIndex(true); break;\r
+               case GL_RASTERIZER_DISCARD:       context->setRasterizerDiscard(true); break;\r
                default:\r
                        return error(GL_INVALID_ENUM);\r
                }\r
index d367390..09ffb88 100644 (file)
@@ -22,6 +22,7 @@
 #define GL_APICALL
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
 
 namespace es2
 {
index 5f8d7b1..ec657b5 100644 (file)
@@ -5,7 +5,7 @@
 // All rights reserved. No part of this software may be copied, distributed, transmitted,\r
 // transcribed, stored in a retrieval system, translated into any human or computer\r
 // language by any means, or disclosed to third parties without the explicit written\r
-// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express\r
+// agreement of Google Inc. Without such an agreement, no rights or licenses, express\r
 // or implied, including but not limited to any patent rights, are granted to you.\r
 //\r
 // libRAD.cpp: Implements the exported Radiance functions.\r