(&self)
| 724 | } |
| 725 | |
| 726 | pub fn create_pipeline_layout(&self) -> vk::PipelineLayout { |
| 727 | let push_constant_range = vk::PushConstantRange::builder() |
| 728 | .offset(0) |
| 729 | .size(std::mem::size_of::<ShaderConstants>() as u32) |
| 730 | .stage_flags(vk::ShaderStageFlags::ALL) |
| 731 | .build(); |
| 732 | let layout_create_info = vk::PipelineLayoutCreateInfo::builder() |
| 733 | .push_constant_ranges(&[push_constant_range]) |
| 734 | .build(); |
| 735 | unsafe { |
| 736 | self.base |
| 737 | .device |
| 738 | .create_pipeline_layout(&layout_create_info, None) |
| 739 | .unwrap() |
| 740 | } |
| 741 | } |
| 742 | |
| 743 | pub fn rebuild_pipelines(&mut self, pipeline_cache: vk::PipelineCache) { |
| 744 | // NOTE(eddyb) this acts like an integration test for specialization constants. |
no test coverage detected