[d3d11] Enable Conservative Rasterization Tier 3

Mostly to bring this in line with vkd3d-proton.
This commit is contained in:
Philip Rebohle 2022-09-05 07:27:00 +02:00
parent d14d70af05
commit 02600706fe
2 changed files with 9 additions and 1 deletions

View File

@ -1966,6 +1966,10 @@ namespace dxvk {
|| !m_dxvkDevice->features().vk12.shaderOutputLayer))
return E_INVALIDARG;
if (shader->flags().test(DxvkShaderFlag::UsesFragmentCoverage)
&& !m_dxvkDevice->properties().extConservativeRasterization.fullyCoveredFragmentShaderInputVariable)
return E_INVALIDARG;
*pShaderModule = std::move(commonShader);
return S_OK;
}

View File

@ -196,7 +196,11 @@ namespace dxvk {
if (!m_properties.extConservativeRasterization.degenerateTrianglesRasterized)
return D3D11_CONSERVATIVE_RASTERIZATION_TIER_1;
return D3D11_CONSERVATIVE_RASTERIZATION_TIER_2;
// Inner coverage is required for Tier 3 support
if (!m_properties.extConservativeRasterization.fullyCoveredFragmentShaderInputVariable)
return D3D11_CONSERVATIVE_RASTERIZATION_TIER_2;
return D3D11_CONSERVATIVE_RASTERIZATION_TIER_3;
}