Lines Matching defs:list
135 * Display list opcodes.
454 * list build isn't active.
728 * a VBO, and not directly in the display list itself.
733 void mesa_print_display_list(GLuint list);
737 * Called by display list code when a display list is being deleted.
806 * Does the given display list only contain a single glBitmap call?
822 * Is the given display list an empty list?
919 struct gl_display_list *list = _mesa_lookup_list(ctx, listBase + i, true);
925 if (!list || is_empty_list(ctx, list)) {
931 if (!is_bitmap_list(ctx, list)) {
932 /* This list does not contain exactly one glBitmap command. Give up. */
937 /* get bitmap info from the display list command */
938 n = get_list_head(ctx, list);
1028 struct gl_display_list *list = _mesa_lookup_list(ctx, listBase + i, true);
1029 const Node *n = get_list_head(ctx, list);
1059 _mesa_error(ctx, GL_OUT_OF_MEMORY, "Display list bitmap atlas");
1072 * \param count how many display list nodes/tokens to allocate
1089 _mesa_lookup_list(struct gl_context *ctx, GLuint list, bool locked)
1092 _mesa_HashLookupMaybeLocked(ctx->Shared->DisplayList, list, locked);
1097 * Delete the named display list, but don't remove from hash table.
1098 * \param dlist - display list pointer
1358 * Called by _mesa_HashWalk() to check if a display list which is being
1365 GLuint list_id = *((GLuint *) userData); /* the list being deleted */
1383 * Destroy a display list and remove from hash table.
1384 * \param list - display list number
1387 destroy_list(struct gl_context *ctx, GLuint list)
1391 if (list == 0)
1394 dlist = _mesa_lookup_list(ctx, list, true);
1399 /* If we're destroying a simple glBitmap display list, there's a
1405 check_atlas_for_deleted_list, &list);
1409 _mesa_HashRemoveLocked(ctx->Shared->DisplayList, list);
1443 _mesa_error(ctx, GL_OUT_OF_MEMORY, "display list construction");
1469 _mesa_error(ctx, GL_OUT_OF_MEMORY, "display list construction");
1492 * Allocate space for a display list instruction (opcode + payload space).
1523 _mesa_error(ctx, GL_OUT_OF_MEMORY, "Building display list");
1564 * Allocate space for a display list instruction. The space is basically
1824 "glDrawArraysInstanced() during display list compile");
1836 "glDrawElementsInstanced() during display list compile");
1849 "glDrawElementsInstancedBaseVertex() during display list compile");
1862 "glDrawArraysInstancedBaseInstance() during display list compile");
1875 "glDrawElementsInstancedBaseInstance() during display list compile");
1889 "glDrawElementsInstancedBaseVertexBaseInstance() during display list compile");
1898 "glDrawArraysIndirect() during display list compile");
1908 "glDrawElementsIndirect() during display list compile");
1919 "glMultiDrawArraysIndirect() during display list compile");
1931 "glMultiDrawElementsIndirect() during display list compile");
1935 * While building a display list we cache some OpenGL state.
1937 * when we start compiling a list, or after glCallList(s)).
1960 save_CallList(GLuint list)
1968 n[1].ui = list;
1977 _mesa_CallList(list);
2016 /* create a copy of the array of list IDs to save in the display list */
3367 /* It's an error to call this function while building a display list */
5863 /* compile this error into the display list */
5867 /* compile this error into the display list */
5892 /* Note: this is used when outside a glBegin/End pair in a display list */
6111 "glDispatchComputeIndirect() during display list compile");
11065 * Save an error-generating command into display list.
11067 * KW: Will appear in the list before the vertex buffer containing the
11087 * Compile an error into current display list.
11100 * Test if ID names a display list.
11103 _mesa_get_list(struct gl_context *ctx, GLuint list,
11108 list > 0 ? _mesa_lookup_list(ctx, list, locked) : NULL;
11119 /* Display list execution */
11124 * Execute a display list. Note that the ListBase offset must have already
11125 * been added before calling this function. I.e. the list argument is
11126 * the absolute list number, not relative to ListBase.
11128 * \param list - display list number
11131 execute_list(struct gl_context *ctx, GLuint list)
11136 if (list == 0 || !_mesa_get_list(ctx, list, &dlist, true))
13363 * Test if a display list number is valid.
13366 _mesa_IsList(GLuint list)
13371 return _mesa_get_list(ctx, list, NULL, false);
13379 _mesa_DeleteLists(GLuint list, GLsizei range)
13395 struct gl_bitmap_atlas *atlas = lookup_bitmap_atlas(ctx, list);
13398 _mesa_HashRemove(ctx->Shared->BitmapAtlas, list);
13403 for (i = list; i < list + range; i++) {
13411 * Return a display list number, n, such that lists n through n+range-1
13437 /* reserve the list IDs by with empty/dummy lists */
13469 * Begin a new display list.
13494 /* already compiling a display list */
13502 /* Reset accumulated list state */
13505 /* Allocate new display list */
13523 * Walk all the opcode from a given list, recursively if OPCODE_CALL_LIST(S) is used,
13628 * End definition of current display list.
13645 /* Check that a list is under construction */
13663 struct gl_dlist_state *list = &ctx->ListState;
13664 list->CurrentList->execute_glthread =
13665 _mesa_glthread_should_execute_list(ctx, list->CurrentList);
13666 ctx->Shared->DisplayListsAffectGLThread |= list->CurrentList->execute_glthread;
13668 if ((list->CurrentList->Head == list->CurrentBlock) &&
13669 (list->CurrentPos < BLOCK_SIZE)) {
13670 /* This list has a low number of commands. Instead of storing them in a malloc-ed block
13671 * of memory (list->CurrentBlock), we store them in ctx->Shared->small_dlist_store.ptr.
13675 list->CurrentList->small_list = true;
13679 util_idalloc_init(&ctx->Shared->small_dlist_store.free_idx, MAX2(1, list->CurrentPos));
13682 start = util_idalloc_alloc_range(&ctx->Shared->small_dlist_store.free_idx, list->CurrentPos);
13684 if ((start + list->CurrentPos) > ctx->Shared->small_dlist_store.size) {
13691 list->CurrentList->start = start;
13692 list->CurrentList->count = list->CurrentPos;
13695 list->CurrentBlock,
13696 list->CurrentList->count * sizeof(Node));
13698 assert (ctx->Shared->small_dlist_store.ptr[start + list->CurrentList->count - 1].opcode == OPCODE_END_OF_LIST);
13700 free(list->CurrentBlock);
13703 list->CurrentList->small_list = false;
13706 /* Destroy old list, if any */
13709 /* Install the new list */
13735 _mesa_CallList(GLuint list)
13742 _mesa_debug(ctx, "glCallList %d\n", list);
13744 if (list == 0) {
13745 _mesa_error(ctx, GL_INVALID_VALUE, "glCallList(list==0)");
13750 mesa_print_display_list( list );
13752 /* Save the CompileFlag status, turn it off, execute the display list,
13762 execute_list(ctx, list);
13820 /* check that all display list IDs are in the atlas */
13964 * Set the offset added to list numbers in glCallLists.
13976 * Setup the given dispatch table to point to Mesa's display list
14008 * Print the commands in a display list. For debugging only.
14010 * \param fname filename to write display list to. If null, use stdout.
14013 print_list(struct gl_context *ctx, GLuint list, const char *fname)
14025 if (!_mesa_get_list(ctx, list, &dlist, true)) {
14026 fprintf(f, "%u is not a display list ID\n", list);
14035 fprintf(f, "START-LIST %u, address %p\n", list, (void *) n);
14298 fprintf(f, "END-LIST %u\n", list);
14313 _mesa_glthread_execute_list(struct gl_context *ctx, GLuint list)
14317 if (list == 0 ||
14318 !_mesa_get_list(ctx, list, &dlist, true) ||
14436 * Clients may call this function to help debug display list problems.
14441 mesa_print_display_list(GLuint list)
14444 print_list(ctx, list, NULL);
14453 * Initialize display list state for given context.
14458 /* Display list */