Home | History | Annotate | Download | only in vbo

Lines Matching full:ctx

68 vbo_check_buffers_are_unmapped(struct gl_context *ctx)
70 struct vbo_context *vbo = vbo_context(ctx);
87 vbo_get_minmax_index(struct gl_context *ctx,
93 const GLboolean restart = ctx->Array.PrimitiveRestart;
94 const GLuint restartIndex = ctx->Array.RestartIndex;
102 indices = ctx->Driver.MapBufferRange(ctx, (GLintptr) indices, size,
179 ctx->Driver.UnmapBuffer(ctx, ib->obj);
187 vbo_get_minmax_indices(struct gl_context *ctx,
212 vbo_get_minmax_index(ctx, start_prim, ib, &tmp_min, &tmp_max, count);
225 check_array_data(struct gl_context *ctx, struct gl_client_array *array,
234 ctx->Driver.MapBufferRange(ctx, 0, array->BufferObj->Size,
271 unmap_array_buffer(struct gl_context *ctx, struct gl_client_array *array)
276 ctx->Driver.UnmapBuffer(ctx, array->BufferObj);
286 check_draw_elements_data(struct gl_context *ctx, GLsizei count, GLenum elemType,
289 struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
293 if (_mesa_is_bufferobj(ctx->Array.ArrayObj->ElementArrayBufferObj)) {
294 elemMap = ctx->Driver.MapBufferRange(ctx, 0,
295 ctx->Array.ArrayObj->ElementArrayBufferObj->Size,
297 ctx->Array.ArrayObj->ElementArrayBufferObj);
321 check_array_data(ctx, &arrayObj->VertexAttrib[k], k, j);
326 ctx->Driver.UnmapBuffer(ctx, ctx->Array.ArrayObj->ElementArrayBufferObj);
330 unmap_array_buffer(ctx, &arrayObj->VertexAttrib[k]);
339 check_draw_arrays_data(struct gl_context *ctx, GLint start, GLsizei count)
349 print_draw_arrays(struct gl_context *ctx,
352 struct vbo_context *vbo = vbo_context(ctx);
354 struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
375 GLubyte *p = ctx->Driver.MapBufferRange(ctx, 0, bufObj->Size,
388 ctx->Driver.UnmapBuffer(ctx, bufObj);
403 recalculate_input_bindings(struct gl_context *ctx)
405 struct vbo_context *vbo = vbo_context(ctx);
407 struct gl_client_array *vertexAttrib = ctx->Array.ArrayObj->VertexAttrib;
412 switch (get_program_mode(ctx)) {
508 _mesa_set_varying_vp_inputs( ctx, VERT_BIT_ALL & (~const_inputs) );
509 ctx->NewDriverState |= ctx->DriverFlags.NewArray;
521 vbo_bind_arrays(struct gl_context *ctx)
523 struct vbo_context *vbo = vbo_context(ctx);
529 recalculate_input_bindings(ctx);
536 if (ctx->NewState) {
537 _mesa_update_state(ctx);
553 vbo_handle_primitive_restart(struct gl_context *ctx,
561 struct vbo_context *vbo = vbo_context(ctx);
564 ctx->Const.PrimitiveRestartInSoftware &&
565 ctx->Array.PrimitiveRestart) {
567 vbo_sw_primitive_restart(ctx, prim, nr_prims, ib);
570 vbo->draw_prims(ctx, prim, nr_prims, ib,
583 vbo_draw_arrays(struct gl_context *ctx, GLenum mode, GLint start,
586 struct vbo_context *vbo = vbo_context(ctx);
590 vbo_bind_arrays(ctx);
601 if (ctx->Array.PrimitiveRestart && ctx->Array.RestartIndex < count) {
604 if (ctx->Array.RestartIndex == start) {
612 else if (ctx->Array.RestartIndex == start + count - 1) {
623 prim[0].count = ctx->Array.RestartIndex - start;
626 prim[1].start = ctx->Array.RestartIndex + 1;
635 vbo->draw_prims(ctx, prim, primCount, NULL,
645 vbo->draw_prims(ctx, prim, 1, NULL,
651 _mesa_flush(ctx);
663 GET_CURRENT_CONTEXT(ctx);
666 _mesa_debug(ctx, "glDrawArrays(%s, %d, %d)\n",
669 if (!_mesa_validate_DrawArrays( ctx, mode, start, count ))
673 check_draw_arrays_data(ctx, start, count);
675 vbo_draw_arrays(ctx, mode, start, count, 1, 0);
678 print_draw_arrays(ctx, mode, start, count);
690 GET_CURRENT_CONTEXT(ctx);
693 _mesa_debug(ctx, "glDrawArraysInstanced(%s, %d, %d, %d)\n",
696 if (!_mesa_validate_DrawArraysInstanced(ctx, mode, start, count, numInstances))
700 check_draw_arrays_data(ctx, start, count);
702 vbo_draw_arrays(ctx, mode, start, count, numInstances, 0);
705 print_draw_arrays(ctx, mode, start, count);
716 GET_CURRENT_CONTEXT(ctx);
719 _mesa_debug(ctx, "glDrawArraysInstancedBaseInstance(%s, %d, %d, %d, %d)\n",
723 if (!_mesa_validate_DrawArraysInstanced(ctx, mode, first, count,
728 check_draw_arrays_data(ctx, first, count);
730 vbo_draw_arrays(ctx, mode, first, count, numInstances, baseInstance);
733 print_draw_arrays(ctx, mode, first, count);
744 dump_element_buffer(struct gl_context *ctx, GLenum type)
747 ctx->Driver.MapBufferRange(ctx, 0,
748 ctx->Array.ArrayObj->ElementArrayBufferObj->Size,
750 ctx->Array.ArrayObj->ElementArrayBufferObj);
756 for (i = 0; i < ctx->Array.ArrayObj->ElementArrayBufferObj->Size; i++) {
768 for (i = 0; i < ctx->Array.ArrayObj->ElementArrayBufferObj->Size / 2; i++) {
780 for (i = 0; i < ctx->Array.ArrayObj->ElementArrayBufferObj->Size / 4; i++) {
792 ctx->Driver.UnmapBuffer(ctx, ctx->Array.ArrayObj->ElementArrayBufferObj);
803 vbo_validated_drawrangeelements(struct gl_context *ctx, GLenum mode,
811 struct vbo_context *vbo = vbo_context(ctx);
816 vbo_bind_arrays(ctx);
820 ib.obj = ctx->Array.ArrayObj->ElementArrayBufferObj;
867 vbo_handle_primitive_restart(ctx, prim, 1, &ib,
871 _mesa_flush(ctx);
888 GET_CURRENT_CONTEXT(ctx);
891 _mesa_debug(ctx,
896 if (!_mesa_validate_DrawRangeElements( ctx, mode, start, end, count,
901 start + basevertex >= ctx->Array.ArrayObj->_MaxElement) {
910 _mesa_warning(ctx, "glDrawRangeElements(start %u, end %u, "
915 ctx->Array.ArrayObj->_MaxElement - 1);
941 ctx->Array.ArrayObj->ElementArrayBufferObj->Name,
946 end + basevertex >= ctx->Array.ArrayObj->_MaxElement)
950 check_draw_elements_data(ctx, count, type, indices);
955 vbo_validated_drawrangeelements(ctx, mode, index_bounds_valid, start, end,
968 GET_CURRENT_CONTEXT(ctx);
969 _mesa_debug(ctx,
987 GET_CURRENT_CONTEXT(ctx);
990 _mesa_debug(ctx, "glDrawElements(%s, %u, %s, %p)\n",
994 if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices, 0 ))
997 vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
1009 GET_CURRENT_CONTEXT(ctx);
1012 _mesa_debug(ctx, "glDrawElementsBaseVertex(%s, %d, %s, %p, %d)\n",
1016 if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices,
1020 vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
1032 GET_CURRENT_CONTEXT(ctx);
1035 _mesa_debug(ctx, "glDrawElementsInstanced(%s, %d, %s, %p, %d)\n",
1039 if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices,
1043 vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
1056 GET_CURRENT_CONTEXT(ctx);
1059 _mesa_debug(ctx, "glDrawElementsInstancedBaseVertex(%s, %d, %s, %p, %d; %d)\n",
1064 if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices,
1068 vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
1081 GET_CURRENT_CONTEXT(ctx);
1084 _mesa_debug(ctx, "glDrawElementsInstancedBaseInstance(%s, %d, %s, %p, %d, %d)\n",
1089 if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices,
1093 vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
1107 GET_CURRENT_CONTEXT(ctx);
1110 _mesa_debug(ctx, "glDrawElementsInstancedBaseVertexBaseInstance(%s, %d, %s, %p, %d, %d, %d)\n",
1115 if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices,
1119 vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
1131 vbo_validated_multidrawelements(struct gl_context *ctx, GLenum mode,
1137 struct vbo_context *vbo = vbo_context(ctx);
1151 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glMultiDrawElements");
1155 vbo_bind_arrays(ctx);
1184 if (!_mesa_is_bufferobj(ctx->Array.ArrayObj->ElementArrayBufferObj))
1190 ib.obj = ctx->Array.ArrayObj->ElementArrayBufferObj;
1211 vbo_handle_primitive_restart(ctx, prim, primcount, &ib,
1218 ib.obj = ctx->Array.ArrayObj->ElementArrayBufferObj;
1237 vbo_handle_primitive_restart(ctx, prim, 1, &ib,
1245 _mesa_flush(ctx);
1256 GET_CURRENT_CONTEXT(ctx);
1258 if (!_mesa_validate_MultiDrawElements(ctx, mode, count, type, indices,
1262 vbo_validated_multidrawelements(ctx, mode, count, type, indices, primcount,
1274 GET_CURRENT_CONTEXT(ctx);
1276 if (!_mesa_validate_MultiDrawElements(ctx, mode, count, type, indices,
1280 vbo_validated_multidrawelements(ctx, mode, count, type, indices, primcount,
1287 vbo_draw_transform_feedback(struct gl_context *ctx, GLenum mode,
1291 struct vbo_context *vbo = vbo_context(ctx);
1295 if (!_mesa_validate_DrawTransformFeedback(ctx, mode, obj, stream,
1300 vbo_bind_arrays(ctx);
1315 vbo->draw_prims(ctx, prim, 1, NULL,
1319 _mesa_flush(ctx);
1334 GET_CURRENT_CONTEXT(ctx);
1336 _mesa_lookup_transform_feedback_object(ctx, name);
1339 _mesa_debug(ctx, "glDrawTransformFeedback(%s, %d)\n",
1342 vbo_draw_transform_feedback(ctx, mode, obj, 0, 1);
1348 GET_CURRENT_CONTEXT(ctx);
1350 _mesa_lookup_transform_feedback_object(ctx, name);
1353 _mesa_debug(ctx, "glDrawTransformFeedbackStream(%s, %u, %u)\n",
1356 vbo_draw_transform_feedback(ctx, mode, obj, stream, 1);
1363 GET_CURRENT_CONTEXT(ctx);
1365 _mesa_lookup_transform_feedback_object(ctx, name);
1368 _mesa_debug(ctx, "glDrawTransformFeedbackInstanced(%s, %d)\n",
1371 vbo_draw_transform_feedback(ctx, mode, obj, 0, primcount);
1378 GET_CURRENT_CONTEXT(ctx);
1380 _mesa_lookup_transform_feedback_object(ctx, name);
1383 _mesa_debug(ctx, "glDrawTransformFeedbackStreamInstanced"
1387 vbo_draw_transform_feedback(ctx, mode, obj, stream, primcount);