Lines Matching refs:buffer
357 struct nv04_resource *buffer;
360 buffer = CALLOC_STRUCT(nv04_resource);
361 if (!buffer)
364 buffer->base = *templ;
365 buffer->vtbl = &nouveau_buffer_vtbl;
366 pipe_reference_init(&buffer->base.reference, 1);
367 buffer->base.screen = pscreen;
369 if (buffer->base.bind &
371 switch (buffer->base.usage) {
375 buffer->domain = NOUVEAU_BO_VRAM;
380 buffer->domain = NOUVEAU_BO_GART;
387 if (buffer->base.bind & screen->vidmem_bindings)
388 buffer->domain = NOUVEAU_BO_VRAM;
390 if (buffer->base.bind & screen->sysmem_bindings)
391 buffer->domain = NOUVEAU_BO_GART;
393 ret = nouveau_buffer_allocate(screen, buffer, buffer->domain);
398 return &buffer->base;
401 FREE(buffer);
410 struct nv04_resource *buffer;
412 buffer = CALLOC_STRUCT(nv04_resource);
413 if (!buffer)
416 pipe_reference_init(&buffer->base.reference, 1);
417 buffer->vtbl = &nouveau_buffer_vtbl;
418 buffer->base.screen = pscreen;
419 buffer->base.format = PIPE_FORMAT_R8_UNORM;
420 buffer->base.usage = PIPE_USAGE_IMMUTABLE;
421 buffer->base.bind = bind;
422 buffer->base.width0 = bytes;
423 buffer->base.height0 = 1;
424 buffer->base.depth0 = 1;
426 buffer->data = ptr;
427 buffer->status = NOUVEAU_BUFFER_STATUS_USER_MEMORY;
429 return &buffer->base;
449 /* Migrate a linear buffer (vertex, index, constants) USER -> GART -> VRAM. */
589 /* Continue to next scratch buffer, if available (no wrapping, large enough).
632 /* Copy data to a scratch buffer and return address & bo the data resides in. */