Lines Matching refs:attribIndex
53 bool IsVertexAttribPointerSupported(size_t attribIndex, const VertexAttribute &attrib) in IsVertexAttribPointerSupported() argument
55 return (attribIndex == attrib.bindingIndex && attrib.relativeOffset == 0); in IsVertexAttribPointerSupported()
210 for (auto attribIndex : candidateAttributesMask) in syncDrawState() local
213 if (mForcedStreamingAttributesFirstOffsets[attribIndex] != first) in syncDrawState()
215 updatedStreamingAttribsMask.set(attribIndex); in syncDrawState()
216 mForcedStreamingAttributesForDrawArraysInstancedMask.set(attribIndex); in syncDrawState()
217 mForcedStreamingAttributesFirstOffsets[attribIndex] = first; in syncDrawState()
608 void VertexArrayGL::updateAttribEnabled(const gl::Context *context, size_t attribIndex) in updateAttribEnabled() argument
610 const bool enabled = mState.getVertexAttribute(attribIndex).enabled & in updateAttribEnabled()
611 mProgramActiveAttribLocationsMask.test(attribIndex); in updateAttribEnabled()
612 if (mNativeState->attributes[attribIndex].enabled == enabled) in updateAttribEnabled()
621 functions->enableVertexAttribArray(static_cast<GLuint>(attribIndex)); in updateAttribEnabled()
625 functions->disableVertexAttribArray(static_cast<GLuint>(attribIndex)); in updateAttribEnabled()
628 mNativeState->attributes[attribIndex].enabled = enabled; in updateAttribEnabled()
631 void VertexArrayGL::updateAttribPointer(const gl::Context *context, size_t attribIndex) in updateAttribPointer() argument
634 const VertexAttribute &attrib = mState.getVertexAttribute(attribIndex); in updateAttribPointer()
638 const VertexBinding &binding = mState.getVertexBinding(attribIndex); in updateAttribPointer()
652 mArrayBuffers[attribIndex].set(context, nullptr); in updateAttribPointer()
653 mNativeState->bindings[attribIndex].buffer = 0; in updateAttribPointer()
660 if ((SameVertexAttribFormat(mNativeState->attributes[attribIndex], attrib)) && in updateAttribPointer()
661 (mNativeState->attributes[attribIndex].bindingIndex == attrib.bindingIndex) && in updateAttribPointer()
662 (SameVertexBuffer(mNativeState->bindings[attribIndex], binding))) in updateAttribPointer()
676 callVertexAttribPointer(context, static_cast<GLuint>(attribIndex), attrib, binding.getStride(), in updateAttribPointer()
679 mNativeState->attributes[attribIndex].format = attrib.format; in updateAttribPointer()
685 mNativeState->attributes[attribIndex].relativeOffset = 0; in updateAttribPointer()
686 mNativeState->attributes[attribIndex].bindingIndex = static_cast<GLuint>(attribIndex); in updateAttribPointer()
688 mNativeState->bindings[attribIndex].stride = binding.getStride(); in updateAttribPointer()
689 mNativeState->bindings[attribIndex].offset = binding.getOffset(); in updateAttribPointer()
690 mArrayBuffers[attribIndex].set(context, arrayBuffer); in updateAttribPointer()
691 mNativeState->bindings[attribIndex].buffer = bufferId; in updateAttribPointer()
695 GLuint attribIndex, in callVertexAttribPointer() argument
706 functions->vertexAttribIPointer(attribIndex, format.channelCount, in callVertexAttribPointer()
711 functions->vertexAttribPointer(attribIndex, format.channelCount, in callVertexAttribPointer()
728 void VertexArrayGL::updateAttribFormat(const gl::Context *context, size_t attribIndex) in updateAttribFormat() argument
732 const VertexAttribute &attrib = mState.getVertexAttribute(attribIndex); in updateAttribFormat()
733 if (SameVertexAttribFormat(mNativeState->attributes[attribIndex], attrib)) in updateAttribFormat()
744 functions->vertexAttribIFormat(static_cast<GLuint>(attribIndex), format.channelCount, in updateAttribFormat()
750 functions->vertexAttribFormat(static_cast<GLuint>(attribIndex), format.channelCount, in updateAttribFormat()
755 mNativeState->attributes[attribIndex].format = attrib.format; in updateAttribFormat()
756 mNativeState->attributes[attribIndex].relativeOffset = attrib.relativeOffset; in updateAttribFormat()
759 void VertexArrayGL::updateAttribBinding(const gl::Context *context, size_t attribIndex) in updateAttribBinding() argument
763 GLuint bindingIndex = mState.getVertexAttribute(attribIndex).bindingIndex; in updateAttribBinding()
764 if (mNativeState->attributes[attribIndex].bindingIndex == bindingIndex) in updateAttribBinding()
770 functions->vertexAttribBinding(static_cast<GLuint>(attribIndex), bindingIndex); in updateAttribBinding()
772 mNativeState->attributes[attribIndex].bindingIndex = bindingIndex; in updateAttribBinding()
833 size_t attribIndex, in syncDirtyAttrib() argument
843 updateAttribEnabled(context, attribIndex); in syncDirtyAttrib()
848 updateAttribPointer(context, attribIndex); in syncDirtyAttrib()
853 updateAttribFormat(context, attribIndex); in syncDirtyAttrib()
858 updateAttribBinding(context, attribIndex); in syncDirtyAttrib()
968 for (size_t attribIndex : updateMask) in applyActiveAttribLocationsMask() local
970 updateAttribEnabled(context, attribIndex); in applyActiveAttribLocationsMask()