diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp index 149e8cc548691e4ae6b6c4d7acbc314b7fe27e62..7cbf39096ec8fbbf9993e4fcd99e556037ee74ca 100644 --- a/indra/llrender/llglslshader.cpp +++ b/indra/llrender/llglslshader.cpp @@ -174,10 +174,12 @@ BOOL LLGLSLShader::createShader(vector<string> * attributes, mFeatures.mIndexedTextureChannels = llmin(mFeatures.mIndexedTextureChannels, 1); } +#ifdef GL_INTERLEAVED_ATTRIBS if (varying_count > 0 && varyings) { glTransformFeedbackVaryings(mProgramObject, varying_count, varyings, GL_INTERLEAVED_ATTRIBS); } +#endif // Map attributes and uniforms if (success) diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 2e7c8a0e8fc3c0504223ff20181a9f1877a19787..0092df6587d0dab275271570aa1bcf37f8f76b03 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -373,7 +373,9 @@ U32 LLVertexBuffer::getVAOName() } else { +#ifdef GL_ARB_vertex_array_object glGenVertexArrays(1, &ret); +#endif } return ret; @@ -2161,9 +2163,11 @@ void LLVertexBuffer::flush() // bind for transform feedback (quick 'n dirty) void LLVertexBuffer::bindForFeedback(U32 channel, U32 type, U32 index, U32 count) { +#ifdef GL_TRANSFORM_FEEDBACK_BUFFER U32 offset = mOffsets[type] + sTypeSize[type]*index; U32 size= (sTypeSize[type]*count); glBindBufferRange(GL_TRANSFORM_FEEDBACK_BUFFER, channel, mGLBuffer, offset, size); +#endif } // Set for rendering