diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-08-12 19:13:32 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-08-12 19:13:32 -0700 |
| commit | 19e3a0f319fd04c1dde803796ec272d038b634f7 (patch) | |
| tree | 502077d3e1dab810f037faea810f1cfd2c5ec691 /src/graphics/render.rs | |
| parent | 87f60b880bd1ce586972f9b70dd6c627b1df92cd (diff) | |
this will make it easier to change the image view dynamically as a push update, in a future CL Force-Push: yes Change-Id: If7cfab07913a5a462e16dd7fb478ed491d33d4d9
Diffstat (limited to 'src/graphics/render.rs')
| -rw-r--r-- | src/graphics/render.rs | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/graphics/render.rs b/src/graphics/render.rs index 7318574..c88b1d6 100644 --- a/src/graphics/render.rs +++ b/src/graphics/render.rs @@ -472,19 +472,30 @@ fn init_descriptor_sets(device: &Device, layout: &vk::DescriptorSetLayout, .descriptor_type(vk::DescriptorType::UNIFORM_BUFFER) .buffer_info(&buffer_info_list); - let image_info = vk::DescriptorImageInfo::builder() - .image_layout(vk::ImageLayout::SHADER_READ_ONLY_OPTIMAL) - .image_view(*texture_image_view) + let sampler_image_info = vk::DescriptorImageInfo::builder() .sampler(*sampler); - let image_info_list = [image_info]; + let sampler_image_info_list = [sampler_image_info]; let sampler_write_info = vk::WriteDescriptorSet::builder() .dst_set(sets[index]) .dst_binding(1) .dst_array_element(0) - .descriptor_type(vk::DescriptorType::COMBINED_IMAGE_SAMPLER) - .image_info(&image_info_list); + .descriptor_type(vk::DescriptorType::SAMPLER) + .image_info(&sampler_image_info_list); + + let texture_image_info = vk::DescriptorImageInfo::builder() + .image_layout(vk::ImageLayout::SHADER_READ_ONLY_OPTIMAL) + .image_view(*texture_image_view); + let texture_image_info_list = [texture_image_info]; + let texture_write_info = vk::WriteDescriptorSet::builder() + .dst_set(sets[index]) + .dst_binding(2) + .dst_array_element(0) + .descriptor_type(vk::DescriptorType::SAMPLED_IMAGE) + .image_info(&texture_image_info_list); - let write_info_list = [uniform_block_write_info, sampler_write_info]; + let write_info_list = [ + uniform_block_write_info, sampler_write_info, texture_write_info + ]; let copy_info_list: [vk::CopyDescriptorSet; 0] = []; unsafe { |