aboutsummaryrefslogtreecommitdiff
path: root/adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-07-18 07:40:40 +0300
committerValentin Popov <valentin@popov.link>2026-07-18 07:40:40 +0300
commit4feada1bf4e2cb14f1be4f35bb789b8902e88926 (patch)
tree90f3f5f7869dce639fc6e43f5f6ed22c014efc2b /adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs
parent4b741fb19c495a29bc12f6f057df01c91c1d9097 (diff)
downloadfparkan-4feada1bf4e2cb14f1be4f35bb789b8902e88926.tar.xz
fparkan-4feada1bf4e2cb14f1be4f35bb789b8902e88926.zip
feat(vulkan): add alpha test shader path
Diffstat (limited to 'adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs')
-rw-r--r--adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs b/adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs
index ff797e1..529214d 100644
--- a/adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs
+++ b/adapters/fparkan-render-vulkan/src/ffi/swapchain_resources.rs
@@ -381,7 +381,13 @@ fn create_pipeline_layout(
descriptor_set_layout: vk::DescriptorSetLayout,
) -> Result<vk::PipelineLayout, VulkanSmokeRendererError> {
let set_layouts = [descriptor_set_layout];
- let create_info = vk::PipelineLayoutCreateInfo::default().set_layouts(&set_layouts);
+ let push_constant_ranges = [vk::PushConstantRange::default()
+ .stage_flags(vk::ShaderStageFlags::FRAGMENT)
+ .offset(0)
+ .size(u32::try_from(std::mem::size_of::<f32>()).unwrap_or(u32::MAX))];
+ let create_info = vk::PipelineLayoutCreateInfo::default()
+ .set_layouts(&set_layouts)
+ .push_constant_ranges(&push_constant_ranges);
// SAFETY: The descriptor-set layout belongs to this live logical device.
unsafe { device.device().create_pipeline_layout(&create_info, None) }.map_err(|error| {
VulkanSmokeRendererError::VulkanOperation {
@@ -562,12 +568,6 @@ fn create_graphics_pipeline(
extent: (u32, u32),
state: LegacyPipelineState,
) -> Result<vk::Pipeline, VulkanSmokeRendererError> {
- if state.alpha_test {
- return Err(VulkanSmokeRendererError::InvalidStaticMesh {
- context:
- "static renderer has no alpha-test shader variant for requested pipeline state",
- });
- }
let vertex_shader = create_shader_module(device, TRIANGLE_VERTEX_SHADER_WORDS)?;
let fragment_shader = match create_shader_module(device, TRIANGLE_FRAGMENT_SHADER_WORDS) {
Ok(module) => module,