diff --git a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp index 2ed6c5061..6b9ff016f 100644 --- a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp +++ b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp @@ -2496,9 +2496,10 @@ void AlphaTestGLSL::processPix( Vector &componentList, { // If we're below SM3 and don't have a depth output // 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_DepthOut ] ) + !fd.features[ MFT_DepthOut ] ) || + fd.features[MFT_IsTranslucent]) { output = NULL; return; diff --git a/Engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp b/Engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp index 6ba1f6f10..3159c0ff8 100644 --- a/Engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp +++ b/Engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp @@ -2565,9 +2565,10 @@ void AlphaTestHLSL::processPix( Vector &componentList, { // If we're below SM3 and don't have a depth output // 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_DepthOut ] ) + !fd.features[ MFT_DepthOut ] ) || + fd.features[MFT_IsTranslucent]) { output = NULL; return;