[dxvk] Add flat shading parameter to rasterizer state

This commit is contained in:
Philip Rebohle 2022-08-08 02:33:37 +02:00 committed by Philip Rebohle
parent 4f0c217633
commit 0adf64f085
6 changed files with 6 additions and 3 deletions

View File

@ -4991,6 +4991,7 @@ namespace dxvk {
pRsState->depthBiasEnable = VK_FALSE;
pRsState->conservativeMode = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
pRsState->sampleCount = 0;
pRsState->flatShading = VK_FALSE;
}

View File

@ -37,6 +37,7 @@ namespace dxvk {
m_state.depthClipEnable = desc.DepthClipEnable;
m_state.conservativeMode = DecodeConservativeRasterizationMode(desc.ConservativeRaster);
m_state.sampleCount = VkSampleCountFlags(desc.ForcedSampleCount);
m_state.flatShading = VK_FALSE;
m_depthBias.depthBiasConstant = float(desc.DepthBias);
m_depthBias.depthBiasSlope = desc.SlopeScaledDepthBias;

View File

@ -5715,14 +5715,12 @@ namespace dxvk {
auto& rs = m_state.renderStates;
DxvkRasterizerState state;
DxvkRasterizerState state = { };
state.cullMode = DecodeCullMode(D3DCULL(rs[D3DRS_CULLMODE]));
state.depthBiasEnable = IsDepthBiasEnabled();
state.depthClipEnable = true;
state.frontFace = VK_FRONT_FACE_CLOCKWISE;
state.polygonMode = DecodeFillMode(D3DFILLMODE(rs[D3DRS_FILLMODE]));
state.conservativeMode = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
state.sampleCount = 0;
EmitCs([
cState = state

View File

@ -105,6 +105,7 @@ namespace dxvk {
VkBool32 depthBiasEnable;
VkConservativeRasterizationModeEXT conservativeMode;
VkSampleCountFlags sampleCount;
VkBool32 flatShading;
};

View File

@ -124,6 +124,7 @@ namespace dxvk {
rsState.depthBiasEnable = VK_FALSE;
rsState.conservativeMode = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
rsState.sampleCount = VK_SAMPLE_COUNT_1_BIT;
rsState.flatShading = VK_FALSE;
ctx->setRasterizerState(rsState);
DxvkMultisampleState msState;

View File

@ -22,6 +22,7 @@ namespace dxvk::hud {
m_rsState.depthBiasEnable = VK_FALSE;
m_rsState.conservativeMode = VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT;
m_rsState.sampleCount = VK_SAMPLE_COUNT_1_BIT;
m_rsState.flatShading = VK_FALSE;
m_blendMode.enableBlending = VK_TRUE;
m_blendMode.colorSrcFactor = VK_BLEND_FACTOR_ONE;