Lines Matching defs:buffer
277 struct lvp_buffer *buffer;
281 /* gallium has max 32-bit buffer sizes */
285 buffer = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*buffer), 8,
287 if (buffer == NULL)
290 vk_object_base_init(&device->vk, &buffer->base, VK_OBJECT_TYPE_BUFFER);
291 buffer->size = pCreateInfo->size;
292 buffer->usage = pCreateInfo->usage;
293 buffer->offset = 0;
305 template.width0 = buffer->size;
309 if (buffer->usage & VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT)
311 if (buffer->usage & VK_BUFFER_USAGE_STORAGE_BUFFER_BIT)
313 if (buffer->usage & VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT)
316 buffer->bo = device->pscreen->resource_create_unbacked(device->pscreen,
318 &buffer->total_size);
319 if (!buffer->bo) {
320 vk_free2(&device->vk.alloc, pAllocator, buffer);
324 *pBuffer = lvp_buffer_to_handle(buffer);
335 LVP_FROM_HANDLE(lvp_buffer, buffer, _buffer);
340 pipe_resource_reference(&buffer->bo, NULL);
341 vk_object_base_finish(&buffer->base);
342 vk_free2(&device->vk.alloc, pAllocator, buffer);
349 LVP_FROM_HANDLE(lvp_buffer, buffer, pInfo->buffer);
351 return (VkDeviceAddress)(uintptr_t)buffer->pmem;
375 LVP_FROM_HANDLE(lvp_buffer, buffer, pCreateInfo->buffer);
384 view->buffer = buffer;