for normal rendering, if we're translucent, don't use alphatesting. (as a remindernote, the shadowmathook removes MFT_IsTranslucent])

This commit is contained in:
AzaezelX 2020-03-01 11:51:50 -06:00
parent ff4b025c2c
commit f956c17f3b
2 changed files with 6 additions and 4 deletions

View file

@ -2496,9 +2496,10 @@ void AlphaTestGLSL::processPix( Vector<ShaderComponent*> &componentList,
{ {
// If we're below SM3 and don't have a depth output // If we're below SM3 and don't have a depth output
// feature then don't waste an instruction here. // feature then don't waste an instruction here.
if ( GFX->getPixelShaderVersion() < 3.0 && if (( GFX->getPixelShaderVersion() < 3.0 &&
!fd.features[ MFT_EyeSpaceDepthOut ] && !fd.features[ MFT_EyeSpaceDepthOut ] &&
!fd.features[ MFT_DepthOut ] ) !fd.features[ MFT_DepthOut ] ) ||
fd.features[MFT_IsTranslucent])
{ {
output = NULL; output = NULL;
return; return;

View file

@ -2565,9 +2565,10 @@ void AlphaTestHLSL::processPix( Vector<ShaderComponent*> &componentList,
{ {
// If we're below SM3 and don't have a depth output // If we're below SM3 and don't have a depth output
// feature then don't waste an instruction here. // feature then don't waste an instruction here.
if ( GFX->getPixelShaderVersion() < 3.0 && if (( GFX->getPixelShaderVersion() < 3.0 &&
!fd.features[ MFT_EyeSpaceDepthOut ] && !fd.features[ MFT_EyeSpaceDepthOut ] &&
!fd.features[ MFT_DepthOut ] ) !fd.features[ MFT_DepthOut ] ) ||
fd.features[MFT_IsTranslucent])
{ {
output = NULL; output = NULL;
return; return;