Lines Matching refs:device
31 get_hw_clear_color(struct v3dv_device *device,
48 v3dv_X(device, get_hw_clear_color)(color, internal_type, internal_size,
74 v3dv_X(cmd_buffer->device, get_internal_type_bpp_for_image_aspects)
80 get_hw_clear_color(cmd_buffer->device, &clear_value->color, fb_format,
127 v3dv_X(job->device, meta_framebuffer_init)(&framebuffer, fb_format,
131 v3dv_X(job->device, job_emit_binning_flush)(job);
138 v3dv_X(job->device, meta_emit_clear_image_rcl)
223 create_color_clear_pipeline_layout(struct v3dv_device *device,
242 return v3dv_CreatePipelineLayout(v3dv_device_to_handle(device),
243 &info, &device->vk.alloc, pipeline_layout);
247 create_depth_clear_pipeline_layout(struct v3dv_device *device,
266 return v3dv_CreatePipelineLayout(v3dv_device_to_handle(device),
267 &info, &device->vk.alloc, pipeline_layout);
271 v3dv_meta_clear_init(struct v3dv_device *device)
273 device->meta.color_clear.cache =
276 create_color_clear_pipeline_layout(device,
277 &device->meta.color_clear.p_layout);
279 device->meta.depth_clear.cache =
282 create_depth_clear_pipeline_layout(device,
283 &device->meta.depth_clear.p_layout);
287 v3dv_meta_clear_finish(struct v3dv_device *device)
289 VkDevice _device = v3dv_device_to_handle(device);
291 hash_table_foreach(device->meta.color_clear.cache, entry) {
293 destroy_color_clear_pipeline(_device, (uintptr_t)item, &device->vk.alloc);
295 _mesa_hash_table_destroy(device->meta.color_clear.cache, NULL);
297 if (device->meta.color_clear.p_layout) {
298 v3dv_DestroyPipelineLayout(_device, device->meta.color_clear.p_layout,
299 &device->vk.alloc);
302 hash_table_foreach(device->meta.depth_clear.cache, entry) {
304 destroy_depth_clear_pipeline(_device, item, &device->vk.alloc);
306 _mesa_hash_table_destroy(device->meta.depth_clear.cache, NULL);
308 if (device->meta.depth_clear.p_layout) {
309 v3dv_DestroyPipelineLayout(_device, device->meta.depth_clear.p_layout,
310 &device->vk.alloc);
438 create_pipeline(struct v3dv_device *device,
550 v3dv_CreateGraphicsPipelines(v3dv_device_to_handle(device),
553 &device->vk.alloc,
564 create_color_clear_pipeline(struct v3dv_device *device,
612 return create_pipeline(device,
624 create_depth_clear_pipeline(struct v3dv_device *device,
671 return create_pipeline(device,
683 create_color_clear_render_pass(struct v3dv_device *device,
727 return v3dv_CreateRenderPass2(v3dv_device_to_handle(device),
728 &info, &device->vk.alloc, pass);
793 get_color_clear_pipeline(struct v3dv_device *device,
812 * impact is not too big since we still have the device pipeline cache
827 mtx_lock(&device->meta.mtx);
829 _mesa_hash_table_search(device->meta.color_clear.cache, &key);
831 mtx_unlock(&device->meta.mtx);
837 *pipeline = vk_zalloc2(&device->vk.alloc, NULL, sizeof(**pipeline), 8,
846 result = create_color_clear_render_pass(device,
859 result = create_color_clear_pipeline(device,
867 device->meta.color_clear.p_layout,
875 _mesa_hash_table_insert(device->meta.color_clear.cache,
878 mtx_unlock(&device->meta.mtx);
885 mtx_unlock(&device->meta.mtx);
887 VkDevice _device = v3dv_device_to_handle(device);
890 v3dv_DestroyRenderPass(_device, (*pipeline)->pass, &device->vk.alloc);
892 v3dv_DestroyPipeline(_device, (*pipeline)->pipeline, &device->vk.alloc);
893 vk_free(&device->vk.alloc, *pipeline);
901 get_depth_clear_pipeline(struct v3dv_device *device,
921 mtx_lock(&device->meta.mtx);
923 _mesa_hash_table_search(device->meta.depth_clear.cache, &key);
925 mtx_unlock(&device->meta.mtx);
930 *pipeline = vk_zalloc2(&device->vk.alloc, NULL, sizeof(**pipeline), 8,
938 result = create_depth_clear_pipeline(device,
944 device->meta.depth_clear.p_layout,
950 _mesa_hash_table_insert(device->meta.depth_clear.cache,
953 mtx_unlock(&device->meta.mtx);
957 mtx_unlock(&device->meta.mtx);
959 VkDevice _device = v3dv_device_to_handle(device);
962 v3dv_DestroyPipeline(_device, (*pipeline)->pipeline, &device->vk.alloc);
963 vk_free(&device->vk.alloc, *pipeline);
999 VkResult result = get_color_clear_pipeline(cmd_buffer->device,
1021 cmd_buffer->device->meta.depth_clear.p_layout,
1048 cmd_buffer->device->meta.depth_clear.p_layout,
1092 VkResult result = get_depth_clear_pipeline(cmd_buffer->device,
1111 cmd_buffer->device->meta.depth_clear.p_layout,
1149 cmd_buffer->device->meta.depth_clear.p_layout,