Lines Matching refs:va
275 static void appendAttributeNonStrided (VertexBufferLayout& layout, const VertexArrayBinding& va)
277 const int offset = deAlign32(layout.size, getMinimumAlignment(va.pointer));
278 const int elementSize = getVtxCompSize(va.pointer.componentType)*va.pointer.numComponents;
279 const int size = elementSize*va.pointer.numElements;
282 DE_ASSERT(va.binding.type == BindingPoint::BPTYPE_LOCATION);
284 layout.attributes.push_back(VertexAttributeDescriptor(va.binding.location,
285 va.pointer.componentType,
286 va.pointer.convert,
287 va.pointer.numComponents,
288 va.pointer.numElements,
403 static void setVertexAttribPointer (const glw::Functions& gl, const VertexAttributeDescriptor& va)
405 const bool isIntType = de::inRange<int>(va.componentType, VTX_COMP_UNSIGNED_INT8, VTX_COMP_SIGNED_INT32);
406 const bool isSpecialType = de::inRange<int>(va.componentType, VTX_COMP_FIXED, VTX_COMP_FLOAT);
407 const deUint32 compTypeGL = getVtxCompGLType(va.componentType);
410 DE_ASSERT(isIntType || va.convert == VTX_COMP_CONVERT_NONE); // Conversion allowed only for special types.
413 gl.enableVertexAttribArray(va.location);
415 if (isIntType && va.convert == VTX_COMP_CONVERT_NONE)
416 gl.vertexAttribIPointer(va.location, va.numComponents, compTypeGL, va.stride, va.pointer);
418 gl.vertexAttribPointer(va.location, va.numComponents, compTypeGL, va.convert == VTX_COMP_CONVERT_NORMALIZE_TO_FLOAT ? GL_TRUE : GL_FALSE, va.stride, va.pointer);