зеркало из https://github.com/mozilla/gecko-dev.git
Bug 677095. Compute reasonable destination alpha values with component-alpha blending in D3D10. r=bas
--HG-- extra : rebase_source : b0264c52df9a37334d9524e1fdd1f15e4e4df866
This commit is contained in:
Родитель
4677e74e4d
Коммит
3e3f6096a0
|
@ -48,8 +48,8 @@ BlendState ComponentAlphaBlend
|
|||
SrcBlend = One;
|
||||
DestBlend = Inv_Src1_Color;
|
||||
BlendOp = Add;
|
||||
SrcBlendAlpha = Zero;
|
||||
DestBlendAlpha = One;
|
||||
SrcBlendAlpha = Src1_Alpha;
|
||||
DestBlendAlpha = Inv_Src1_Alpha;
|
||||
BlendOpAlpha = Add;
|
||||
RenderTargetWriteMask[0] = 0x0F; // All
|
||||
};
|
||||
|
@ -172,6 +172,7 @@ PS_OUTPUT ComponentAlphaShader(const VS_OUTPUT aVertex) : SV_Target
|
|||
|
||||
result.vSrc = tRGB.Sample(LayerTextureSamplerLinear, aVertex.vTexCoords);
|
||||
result.vAlpha = 1.0 - tRGBWhite.Sample(LayerTextureSamplerLinear, aVertex.vTexCoords) + result.vSrc;
|
||||
result.vAlpha.a = result.vAlpha.g;
|
||||
result.vSrc *= fLayerOpacity;
|
||||
result.vAlpha *= fLayerOpacity;
|
||||
return result;
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
Ссылка в новой задаче