Lines Matching defs:device
48 lvp_pipeline_destroy(struct lvp_device *device, struct lvp_pipeline *pipeline)
51 device->queue.ctx->delete_vs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_VERTEX]);
53 device->queue.ctx->delete_fs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_FRAGMENT]);
55 device->queue.ctx->delete_gs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_GEOMETRY]);
57 device->queue.ctx->delete_tcs_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_TESS_CTRL]);
59 device->queue.ctx->delete_tes_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_TESS_EVAL]);
61 device->queue.ctx->delete_compute_state(device->queue.ctx, pipeline->shader_cso[PIPE_SHADER_COMPUTE]);
67 vk_pipeline_layout_unref(&device->vk, &pipeline->layout->vk);
70 vk_free(&device->vk.alloc, pipeline->state_data);
72 vk_free(&device->vk.alloc, pipeline);
80 LVP_FROM_HANDLE(lvp_device, device, _device);
86 simple_mtx_lock(&device->queue.pipeline_lock);
87 util_dynarray_append(&device->queue.pipeline_destroys, struct lvp_pipeline*, pipeline);
88 simple_mtx_unlock(&device->queue.pipeline_lock);
386 struct lvp_device *pdevice = pipeline->device;
388 const nir_shader_compiler_options *drv_options = pdevice->pscreen->get_compiler_options(pipeline->device->pscreen, PIPE_SHADER_IR_NIR, st_shader_stage_to_ptarget(stage));
472 lvp_lower_pipeline_layout(pipeline->device, pipeline->layout, nir);
616 struct lvp_device *device = pipeline->device;
622 return device->queue.ctx->create_compute_state(device->queue.ctx, &shstate);
632 return device->queue.ctx->create_fs_state(device->queue.ctx, &shstate);
634 return device->queue.ctx->create_vs_state(device->queue.ctx, &shstate);
636 return device->queue.ctx->create_gs_state(device->queue.ctx, &shstate);
638 return device->queue.ctx->create_tcs_state(device->queue.ctx, &shstate);
640 return device->queue.ctx->create_tes_state(device->queue.ctx, &shstate);
652 struct lvp_device *device = pipeline->device;
653 device->physical_device->pscreen->finalize_nir(device->physical_device->pscreen, nir);
741 struct lvp_device *device,
805 result = vk_graphics_pipeline_state_fill(&device->vk,
818 pipeline->device = device;
904 pipeline->shader_cso[PIPE_SHADER_FRAGMENT] = device->queue.ctx->create_fs_state(device->queue.ctx, &shstate);
914 vk_free(&device->vk.alloc, pipeline->state_data);
926 LVP_FROM_HANDLE(lvp_device, device, _device);
933 pipeline = vk_zalloc(&device->vk.alloc, sizeof(*pipeline), 8,
936 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
938 vk_object_base_init(&device->vk, &pipeline->base,
941 result = lvp_graphics_pipeline_init(pipeline, device, cache, pCreateInfo);
943 vk_free(&device->vk.alloc, pipeline);
994 struct lvp_device *device,
998 pipeline->device = device;
1022 LVP_FROM_HANDLE(lvp_device, device, _device);
1029 pipeline = vk_zalloc(&device->vk.alloc, sizeof(*pipeline), 8,
1032 return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
1034 vk_object_base_init(&device->vk, &pipeline->base,
1037 result = lvp_compute_pipeline_init(pipeline, device, cache, pCreateInfo);
1039 vk_free(&device->vk.alloc, pipeline);