From 02632fd7fbc118279ff1e68f9b72694aef222bdb Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Fri, 16 Feb 2018 18:21:51 -0800 Subject: Fixed few HLSL->GLSL conversion issues on MacOS --- .../GraphicsEngineOpenGL/src/GLContextMacOS.mm | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'Graphics/GraphicsEngineOpenGL') diff --git a/Graphics/GraphicsEngineOpenGL/src/GLContextMacOS.mm b/Graphics/GraphicsEngineOpenGL/src/GLContextMacOS.mm index b578dd92..65942afb 100644 --- a/Graphics/GraphicsEngineOpenGL/src/GLContextMacOS.mm +++ b/Graphics/GraphicsEngineOpenGL/src/GLContextMacOS.mm @@ -30,6 +30,22 @@ #include "GLTypeConversions.h" #include "EngineGLAttribs.h" +static void glDrawArraysInstancedBaseInstance_stub(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance) +{ + LOG_ERROR_MESSAGE_ONCE("glDrawArraysInstancedBaseInstance is not supported on MacOS"); +} + +static void glDrawElementsInstancedBaseInstance_stub(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance) +{ + LOG_ERROR_MESSAGE_ONCE("glDrawElementsInstancedBaseInstance is not supported on MacOS"); +} + +static void glDrawElementsInstancedBaseVertexBaseInstance_stub(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance) +{ + LOG_ERROR_MESSAGE_ONCE("glDrawElementsInstancedBaseVertexBaseInstance is not supported on MacOS"); +} + + namespace Diligent { GLContext::GLContext( const EngineGLAttribs &InitAttribs, DeviceCaps &DeviceCaps ) @@ -44,7 +60,13 @@ namespace Diligent GLenum err = glewInit(); if( GLEW_OK != err ) LOG_ERROR_AND_THROW( "Failed to initialize GLEW" ); - + if(glDrawArraysInstancedBaseInstance == nullptr) + glDrawArraysInstancedBaseInstance = glDrawArraysInstancedBaseInstance_stub; + if(glDrawElementsInstancedBaseInstance == nullptr) + glDrawElementsInstancedBaseInstance = glDrawElementsInstancedBaseInstance_stub; + if(glDrawElementsInstancedBaseVertexBaseInstance == nullptr) + glDrawElementsInstancedBaseVertexBaseInstance = glDrawElementsInstancedBaseVertexBaseInstance_stub; + //Checking GL version const GLubyte *GLVersionString = glGetString( GL_VERSION ); const GLubyte *GLRenderer = glGetString(GL_RENDERER); -- cgit v1.2.3