Lines Matching defs:draw
515 struct overlay_draw *draw = list_is_empty(&data->draws) ?
521 if (draw && device_data->vtable.GetFenceStatus(device_data->device, draw->fence) == VK_SUCCESS) {
522 list_del(&draw->link);
524 1, &draw->fence));
525 list_addtail(&draw->link, &data->draws);
526 return draw;
529 draw = rzalloc(data, struct overlay_draw);
538 &draw->command_buffer));
540 draw->command_buffer));
548 &draw->fence));
551 NULL, &draw->semaphore));
553 NULL, &draw->cross_engine_semaphore));
555 list_addtail(&draw->link, &data->draws);
557 return draw;
1173 struct overlay_draw *draw = get_overlay_draw(data);
1175 device_data->vtable.ResetCommandBuffer(draw->command_buffer, 0);
1187 device_data->vtable.BeginCommandBuffer(draw->command_buffer, &buffer_begin_info);
1189 ensure_swapchain_fonts(data, draw->command_buffer);
1209 device_data->vtable.CmdPipelineBarrier(draw->command_buffer,
1217 device_data->vtable.CmdBeginRenderPass(draw->command_buffer, &render_pass_info,
1223 if (draw->vertex_buffer_size < vertex_size) {
1225 &draw->vertex_buffer,
1226 &draw->vertex_buffer_mem,
1227 &draw->vertex_buffer_size,
1230 if (draw->index_buffer_size < index_size) {
1232 &draw->index_buffer,
1233 &draw->index_buffer_mem,
1234 &draw->index_buffer_size,
1241 VK_CHECK(device_data->vtable.MapMemory(device_data->device, draw->vertex_buffer_mem,
1243 VK_CHECK(device_data->vtable.MapMemory(device_data->device, draw->index_buffer_mem,
1255 range[0].memory = draw->vertex_buffer_mem;
1258 range[1].memory = draw->index_buffer_mem;
1261 device_data->vtable.UnmapMemory(device_data->device, draw->vertex_buffer_mem);
1262 device_data->vtable.UnmapMemory(device_data->device, draw->index_buffer_mem);
1265 device_data->vtable.CmdBindPipeline(draw->command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, data->pipeline);
1267 device_data->vtable.CmdBindDescriptorSets(draw->command_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS,
1271 VkBuffer vertex_buffers[1] = { draw->vertex_buffer };
1273 device_data->vtable.CmdBindVertexBuffers(draw->command_buffer, 0, 1, vertex_buffers, vertex_offset);
1274 device_data->vtable.CmdBindIndexBuffer(draw->command_buffer, draw->index_buffer, 0, VK_INDEX_TYPE_UINT16);
1284 device_data->vtable.CmdSetViewport(draw->command_buffer, 0, 1, &viewport);
1299 device_data->vtable.CmdPushConstants(draw->command_buffer, data->pipeline_layout,
1302 device_data->vtable.CmdPushConstants(draw->command_buffer, data->pipeline_layout,
1323 device_data->vtable.CmdSetScissor(draw->command_buffer, 0, 1, &scissor);
1326 device_data->vtable.CmdDrawIndexed(draw->command_buffer, pcmd->ElemCount, 1, idx_offset, vtx_offset, 0);
1333 device_data->vtable.CmdEndRenderPass(draw->command_buffer);
1354 device_data->vtable.CmdPipelineBarrier(draw->command_buffer,
1363 device_data->vtable.EndCommandBuffer(draw->command_buffer);
1378 submit_info.pSignalSemaphores = &draw->cross_engine_semaphore;
1385 submit_info.pCommandBuffers = &draw->command_buffer;
1387 submit_info.pWaitSemaphores = &draw->cross_engine_semaphore;
1389 submit_info.pSignalSemaphores = &draw->semaphore;
1391 device_data->vtable.QueueSubmit(device_data->graphic_queue->queue, 1, &submit_info, draw->fence);
1403 submit_info.pCommandBuffers = &draw->command_buffer;
1408 submit_info.pSignalSemaphores = &draw->semaphore;
1410 device_data->vtable.QueueSubmit(device_data->graphic_queue->queue, 1, &submit_info, draw->fence);
1415 return draw;
1794 list_for_each_entry_safe(struct overlay_draw, draw, &data->draws, link) {
1795 device_data->vtable.DestroySemaphore(device_data->device, draw->cross_engine_semaphore, NULL);
1796 device_data->vtable.DestroySemaphore(device_data->device, draw->semaphore, NULL);
1797 device_data->vtable.DestroyFence(device_data->device, draw->fence, NULL);
1798 device_data->vtable.DestroyBuffer(device_data->device, draw->vertex_buffer, NULL);
1799 device_data->vtable.DestroyBuffer(device_data->device, draw->index_buffer, NULL);
1800 device_data->vtable.FreeMemory(device_data->device, draw->vertex_buffer_mem, NULL);
1801 device_data->vtable.FreeMemory(device_data->device, draw->index_buffer_mem, NULL);
1839 struct overlay_draw *draw = NULL;
1845 draw = render_swapchain_display(swapchain_data, present_queue,
1850 return draw;
1986 struct overlay_draw *draw = before_present(swapchain_data,
1992 /* Because the submission of the overlay draw waits on the semaphores
1997 present_info.pWaitSemaphores = &draw->semaphore;