mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-30 11:52:11 +01:00
[d3d11] Enable Conservative Rasterization Tier 3
Mostly to bring this in line with vkd3d-proton.
This commit is contained in:
parent
d14d70af05
commit
02600706fe
@ -1966,6 +1966,10 @@ namespace dxvk {
|
|||||||
|| !m_dxvkDevice->features().vk12.shaderOutputLayer))
|
|| !m_dxvkDevice->features().vk12.shaderOutputLayer))
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
if (shader->flags().test(DxvkShaderFlag::UsesFragmentCoverage)
|
||||||
|
&& !m_dxvkDevice->properties().extConservativeRasterization.fullyCoveredFragmentShaderInputVariable)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
*pShaderModule = std::move(commonShader);
|
*pShaderModule = std::move(commonShader);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
@ -196,7 +196,11 @@ namespace dxvk {
|
|||||||
if (!m_properties.extConservativeRasterization.degenerateTrianglesRasterized)
|
if (!m_properties.extConservativeRasterization.degenerateTrianglesRasterized)
|
||||||
return D3D11_CONSERVATIVE_RASTERIZATION_TIER_1;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user