Lines Matching refs:device

34 static VkResult build_pipeline(struct radv_device *device, VkImageAspectFlagBits aspect,
247 struct radv_device *device = cmd_buffer->device;
263 device->meta_state.blit.pipeline_layout, VK_SHADER_STAGE_VERTEX_BIT, 0, 20,
272 fs_key = radv_format_meta_fs_key(device, dest_image->vk.format);
277 pipeline = &device->meta_state.blit.pipeline_1d_src[fs_key];
280 pipeline = &device->meta_state.blit.pipeline_2d_src[fs_key];
283 pipeline = &device->meta_state.blit.pipeline_3d_src[fs_key];
295 pipeline = &device->meta_state.blit.depth_only_1d_pipeline;
298 pipeline = &device->meta_state.blit.depth_only_2d_pipeline;
301 pipeline = &device->meta_state.blit.depth_only_3d_pipeline;
313 pipeline = &device->meta_state.blit.stencil_only_1d_pipeline;
316 pipeline = &device->meta_state.blit.stencil_only_2d_pipeline;
319 pipeline = &device->meta_state.blit.stencil_only_3d_pipeline;
331 VkResult ret = build_pipeline(device, src_iview->vk.aspects,
344 cmd_buffer, VK_PIPELINE_BIND_POINT_GRAPHICS, device->meta_state.blit.pipeline_layout,
465 struct radv_device *device = cmd_buffer->device;
477 radv_CreateSampler(radv_device_to_handle(device),
574 radv_image_view_init(&dst_iview, cmd_buffer->device,
587 radv_image_view_init(&src_iview, cmd_buffer->device,
610 radv_DestroySampler(radv_device_to_handle(device), sampler, &cmd_buffer->pool->vk.alloc);
628 radv_device_finish_meta_blit_state(struct radv_device *device)
630 struct radv_meta_state *state = &device->meta_state;
633 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.pipeline_1d_src[i],
635 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.pipeline_2d_src[i],
637 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.pipeline_3d_src[i],
641 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.depth_only_1d_pipeline,
643 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.depth_only_2d_pipeline,
645 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.depth_only_3d_pipeline,
648 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.stencil_only_1d_pipeline,
650 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.stencil_only_2d_pipeline,
652 radv_DestroyPipeline(radv_device_to_handle(device), state->blit.stencil_only_3d_pipeline,
655 radv_DestroyPipelineLayout(radv_device_to_handle(device), state->blit.pipeline_layout,
657 device->vk.dispatch_table.DestroyDescriptorSetLayout(radv_device_to_handle(device),
662 build_pipeline(struct radv_device *device, VkImageAspectFlagBits aspect,
667 mtx_lock(&device->meta_state.mtx);
670 mtx_unlock(&device->meta_state.mtx);
675 nir_shader *vs = build_nir_vertex_shader(device);
683 fs = build_nir_copy_fragment_shader(device, tex_dim);
688 fs = build_nir_copy_fragment_shader_depth(device, tex_dim);
692 fs = build_nir_copy_fragment_shader_stencil(device, tex_dim);
761 .layout = device->meta_state.blit.pipeline_layout,
821 radv_device_to_handle(device), radv_pipeline_cache_to_handle(&device->meta_state.cache),
822 &vk_pipeline_info, &radv_pipeline_info, &device->meta_state.alloc, pipeline);
825 mtx_unlock(&device->meta_state.mtx);
830 radv_device_init_meta_blit_color(struct radv_device *device, bool on_demand)
836 unsigned key = radv_format_meta_fs_key(device, format);
841 result = build_pipeline(device, VK_IMAGE_ASPECT_COLOR_BIT, GLSL_SAMPLER_DIM_1D, format,
842 &device->meta_state.blit.pipeline_1d_src[key]);
846 result = build_pipeline(device, VK_IMAGE_ASPECT_COLOR_BIT, GLSL_SAMPLER_DIM_2D, format,
847 &device->meta_state.blit.pipeline_2d_src[key]);
851 result = build_pipeline(device, VK_IMAGE_ASPECT_COLOR_BIT, GLSL_SAMPLER_DIM_3D, format,
852 &device->meta_state.blit.pipeline_3d_src[key]);
863 radv_device_init_meta_blit_depth(struct radv_device *device, bool on_demand)
870 result = build_pipeline(device, VK_IMAGE_ASPECT_DEPTH_BIT, GLSL_SAMPLER_DIM_1D,
872 &device->meta_state.blit.depth_only_1d_pipeline);
876 result = build_pipeline(device, VK_IMAGE_ASPECT_DEPTH_BIT, GLSL_SAMPLER_DIM_2D,
878 &device->meta_state.blit.depth_only_2d_pipeline);
882 result = build_pipeline(device, VK_IMAGE_ASPECT_DEPTH_BIT, GLSL_SAMPLER_DIM_3D,
884 &device->meta_state.blit.depth_only_3d_pipeline);
893 radv_device_init_meta_blit_stencil(struct radv_device *device, bool on_demand)
900 result = build_pipeline(device, VK_IMAGE_ASPECT_STENCIL_BIT, GLSL_SAMPLER_DIM_1D,
902 &device->meta_state.blit.stencil_only_1d_pipeline);
906 result = build_pipeline(device, VK_IMAGE_ASPECT_STENCIL_BIT, GLSL_SAMPLER_DIM_2D,
908 &device->meta_state.blit.stencil_only_2d_pipeline);
912 result = build_pipeline(device, VK_IMAGE_ASPECT_STENCIL_BIT, GLSL_SAMPLER_DIM_3D,
914 &device->meta_state.blit.stencil_only_3d_pipeline);
923 radv_device_init_meta_blit_state(struct radv_device *device, bool on_demand)
939 radv_CreateDescriptorSetLayout(radv_device_to_handle(device), &ds_layout_info,
940 &device->meta_state.alloc, &device->meta_state.blit.ds_layout);
946 result = radv_CreatePipelineLayout(radv_device_to_handle(device),
950 .pSetLayouts = &device->meta_state.blit.ds_layout,
954 &device->meta_state.alloc,
955 &device->meta_state.blit.pipeline_layout);
959 result = radv_device_init_meta_blit_color(device, on_demand);
963 result = radv_device_init_meta_blit_depth(device, on_demand);
967 return radv_device_init_meta_blit_stencil(device, on_demand);