Skip to content

Implement support for conservative rasterization.#191

Merged
crud89 merged 7 commits intomainfrom
dev/conservative-rasterization
Oct 22, 2025
Merged

Implement support for conservative rasterization.#191
crud89 merged 7 commits intomainfrom
dev/conservative-rasterization

Conversation

@crud89
Copy link
Copy Markdown
Owner

@crud89 crud89 commented Oct 22, 2025

Describe the pull request

This PR implements support for conservative rasterization. In Vulkan, this is done through the VK_EXT_conservative_rasterization extension. It allows finer control over the rasterizer state, compared to DirectX 12, which only supports overestimation mode.

In the engine, turning on conservative rasterization requires the device to be initialized with the new GraphicsDeviceFeatures::ConservativeRasterization feature enabled. Afterwards, it is possible to enable the IRasterizer::conservativeRasterization setting to initialize a pipeline with conservative rasterization in overestimation mode. Underestimation is still supported using the SV_InnerCoverage semantic, which translates to FullyCoveredEXT in Vulkan. The engine implements the necessary settings to use all of those features. There are tests for each backend demonstrating their usage.

@crud89 crud89 added this to the Alpha #05 milestone Oct 22, 2025
@crud89 crud89 self-assigned this Oct 22, 2025
@crud89 crud89 added Vulkan πŸŒ‹ The issue involves the Vulkan backend. DX12 ❎ The issue involves the DX12 backend. labels Oct 22, 2025
@crud89 crud89 added this to LiteFX Oct 22, 2025
@crud89 crud89 moved this to In Progress in LiteFX Oct 22, 2025
@crud89 crud89 force-pushed the dev/conservative-rasterization branch from a7b0f32 to 5568f20 Compare October 22, 2025 16:15
@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Oct 22, 2025

Run: tests

@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Oct 22, 2025

Run: checks

@crud89 crud89 merged commit 51dd2bc into main Oct 22, 2025
9 checks passed
@crud89 crud89 deleted the dev/conservative-rasterization branch October 22, 2025 17:40
@crud89 crud89 moved this from In Progress to v0.5.1 in LiteFX Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DX12 ❎ The issue involves the DX12 backend. Vulkan πŸŒ‹ The issue involves the Vulkan backend.

Projects

Status: v0.5.1

Development

Successfully merging this pull request may close these issues.

1 participant