author | David Anderson <danderson@mozilla.com> |
Tue, 02 Aug 2016 11:43:15 -0700 | |
changeset 307866 | 7d1cec49be7a45ae49f08f0eff16c8fe2d16bbee |
parent 307865 | b9a1e78400a27b633dda90fa2434daa36e161de5 |
child 307867 | 8a8ee572051dbc143881719e1ae0b42a83017d47 |
push id | 30521 |
push user | cbook@mozilla.com |
push date | Wed, 03 Aug 2016 15:04:18 +0000 |
treeherder | mozilla-central@7f1b2e71efdc [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mstange |
bugs | 1281593 |
milestone | 51.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
gfx/layers/d3d11/CompositorD3D11.hlsl | file | annotate | diff | comparison | revisions | |
gfx/layers/d3d11/CompositorD3D11Shaders.h | file | annotate | diff | comparison | revisions |
--- a/gfx/layers/d3d11/CompositorD3D11.hlsl +++ b/gfx/layers/d3d11/CompositorD3D11.hlsl @@ -384,17 +384,17 @@ float4 BlendShader(const VS_BLEND_OUTPUT float4 source = ComputeBlendSourceColor(aVertex); // Shortcut when the backdrop or source alpha is 0, otherwise we may leak // infinity into the blend function and return incorrect results. if (backdrop.a == 0.0) { return source; } if (source.a == 0.0) { - return backdrop; + return float4(0, 0, 0, 0); } // The spec assumes there is no premultiplied alpha. The backdrop is always // premultiplied, so undo the premultiply. If the source is premultiplied we // must fix that as well. backdrop.rgb /= backdrop.a; if (iBlendConfig.w) { source.rgb /= source.a;
--- a/gfx/layers/d3d11/CompositorD3D11Shaders.h +++ b/gfx/layers/d3d11/CompositorD3D11Shaders.h @@ -6116,85 +6116,85 @@ ShaderBytes sLayerQuadBlendMaskVS = { La cmp r13.y, r5.x, r5.z, r1.w add r14, -r4.xyzx, -c11.yyyw rsq r1.w, r8.x rcp r1.w, r1.w cmp r1.w, r12.z, r10.x, r1.w mad r1.w, r6.x, -r0.w, r1.w mad r1.w, r9.x, r1.w, r8.x mad r9, r6.xyzx, -r0.w, -c11.wwwy - mad r10.xyz, r6, r0.w, c3.x - mul r10.xyz, r10, r10 + mad r6.xyz, r6, r0.w, c3.x + mul r6.xyz, r6, r6 mad r0.w, r11.x, -r9.w, r8.x cmp r13.x, r14.w, r0.w, r1.w cmp r0.xyz, -r7.z, r13, r0 - add r11.xyz, r8, r8 - mad r13.xyz, r4, -c3.y, r11 - add r13.xyz, r13, c3.x - mad r15.xyz, r4, -r11, r13 - mul r11.xyz, r4, r11 - add r16.xyz, r4, r4 - mul r17.xyz, r8, r16 - mad r13.xyz, r16, -r8, r13 - cmp r9.xyz, r9, r11, r13 - cmp r5.yz, r5.xxyw, r17, r15 - cmp r5.x, r14.w, r17.x, r15.x + add r10.xyz, r8, r8 + mad r11.xyz, r4, -c3.y, r10 + add r11.xyz, r11, c3.x + mad r13.xyz, r4, -r10, r11 + mul r10.xyz, r4, r10 + add r15.xyz, r4, r4 + mul r16.xyz, r8, r15 + mad r11.xyz, r15, -r8, r11 + cmp r9.xyz, r9, r10, r11 + cmp r5.yz, r5.xxyw, r16, r13 + cmp r5.x, r14.w, r16.x, r13.x cmp r0.xyz, -r7.y, r5, r0 rcp r0.w, r4.x mad r0.w, r9.w, -r0.w, -c3.x max r1.w, r0.w, -c11.z mul r5.xyz, r4, r4 cmp r0.w, -r5.x, -c11.z, r1.w - cmp r11.x, -r10.x, -c3.x, r0.w + cmp r10.x, -r6.x, -c3.x, r0.w rcp r0.w, r4.y mad r0.w, r12.x, -r0.w, -c3.x max r1.w, r0.w, -c11.z cmp r0.w, -r5.y, -c11.z, r1.w - cmp r11.y, -r10.y, -c3.x, r0.w + cmp r10.y, -r6.y, -c3.x, r0.w rcp r0.w, r4.z mad r0.w, r12.y, -r0.w, -c3.x max r1.w, r0.w, -c11.z cmp r0.w, -r5.z, -c11.z, r1.w - cmp r11.z, -r10.z, -c3.x, r0.w - cmp r0.xyz, -r7.x, r11, r0 + cmp r10.z, -r6.z, -c3.x, r0.w + cmp r0.xyz, -r7.x, r10, r0 add r5, r4.w, c5 mul r5, r5, r5 - add r7.xyz, r4, c3.x - mul r7.xyz, r7, r7 + add r6.xyz, r4, c3.x + mul r6.xyz, r6, r6 rcp r0.w, r14.x mul r0.w, r0.w, r8.x min r1.w, r0.w, -c3.x - cmp r0.w, -r7.x, -c3.x, r1.w - mul r10.xyz, r8, r8 - cmp r11.x, -r10.x, -c11.z, r0.w + cmp r0.w, -r6.x, -c3.x, r1.w + mul r7.xyz, r8, r8 + cmp r10.x, -r7.x, -c11.z, r0.w rcp r0.w, r14.y rcp r1.w, r14.z mul r1.w, r1.w, r8.z min r2.w, r1.w, -c3.x - cmp r1.w, -r7.z, -c3.x, r2.w - cmp r11.z, -r10.z, -c11.z, r1.w + cmp r1.w, -r6.z, -c3.x, r2.w + cmp r10.z, -r7.z, -c11.z, r1.w mul r0.w, r0.w, r8.y min r1.w, r0.w, -c3.x - cmp r0.w, -r7.y, -c3.x, r1.w - cmp r11.y, -r10.y, -c11.z, r0.w - cmp r0.xyz, -r5.w, r11, r0 - max r7.xyz, r8, r4 - min r10.xyz, r4, r8 - cmp r0.xyz, -r5.z, r7, r0 - cmp r0.xyz, -r5.y, r10, r0 + cmp r0.w, -r6.y, -c3.x, r1.w + cmp r10.y, -r7.y, -c11.z, r0.w + cmp r0.xyz, -r5.w, r10, r0 + max r6.xyz, r8, r4 + min r7.xyz, r4, r8 + cmp r0.xyz, -r5.z, r6, r0 + cmp r0.xyz, -r5.y, r7, r0 cmp r0.xyz, -r5.x, r9, r0 cmp r0.xyz, -r10.w, r1, r0 cmp r0.xyz, -c2.z, r2, r0 lrp r1.xyz, r6.w, r0, r4 + mul r1.w, r6.w, r6.w mul r0.xyz, r3.w, r1 mul r1.x, r3.w, r3.w mov r0.w, r3.w - cmp r0, -r1.x, r6, r0 - mul r1.x, r6.w, r6.w - cmp r0, -r1.x, r3, r0 + cmp r0, -r1.x, -c11.z, r0 + cmp r0, -r1.w, r3, r0 mov oC0, r0 // approximately 326 instruction slots used (6 texture, 320 arithmetic) ps_4_0 dcl_constantbuffer CB0[3], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 @@ -6295,17 +6295,17 @@ endif movc r1.xyzw, r2.xxxx, r1.xyzw, l(0,0,0,1.000000) eq r2.x, r0.w, l(0.000000) if_nz r2.x mov o0.xyzw, r1.xyzw ret endif eq r2.x, r1.w, l(0.000000) if_nz r2.x - mov o0.xyzw, r0.xyzw + mov o0.xyzw, l(0,0,0,0) ret endif div r0.xyz, r0.xyzx, r0.wwww div r2.xyz, r1.xyzx, r1.wwww movc r1.xyz, cb0[2].wwww, r2.xyzx, r1.xyzx mul r2.xyz, r0.xyzx, r1.xyzx add r3.xyz, r0.xyzx, r1.xyzx mad r4.xyz, -r0.xyzx, r1.xyzx, r3.xyzx @@ -6546,25 +6546,25 @@ mad r0.xyz, r2.xxxx, r1.xyzx, r0.xyzx mul o0.xyz, r1.wwww, r0.xyzx mov o0.w, r1.w ret // Approximately 339 instruction slots used #endif const BYTE BlendShader[] = { - 68, 88, 66, 67, 122, 174, - 220, 58, 170, 47, 87, 82, - 85, 5, 178, 49, 217, 101, - 104, 140, 1, 0, 0, 0, - 184, 67, 0, 0, 6, 0, + 68, 88, 66, 67, 112, 63, + 111, 12, 13, 48, 235, 163, + 54, 75, 30, 70, 47, 59, + 134, 187, 1, 0, 0, 0, + 196, 67, 0, 0, 6, 0, 0, 0, 56, 0, 0, 0, - 92, 23, 0, 0, 8, 63, - 0, 0, 132, 63, 0, 0, - 252, 66, 0, 0, 132, 67, + 92, 23, 0, 0, 20, 63, + 0, 0, 144, 63, 0, 0, + 8, 67, 0, 0, 144, 67, 0, 0, 65, 111, 110, 57, 28, 23, 0, 0, 28, 23, 0, 0, 0, 2, 255, 255, 200, 22, 0, 0, 84, 0, 0, 0, 2, 0, 60, 0, 0, 0, 84, 0, 0, 0, 84, 0, 6, 0, 36, 0, 0, 0, 84, 0, 0, 0, @@ -7337,65 +7337,65 @@ const BYTE BlendShader[] = 255, 129, 1, 0, 255, 128, 4, 0, 0, 4, 1, 0, 8, 128, 9, 0, 0, 128, 1, 0, 255, 128, 8, 0, 0, 128, 4, 0, 0, 4, 9, 0, 15, 128, 6, 0, 36, 128, 0, 0, 255, 129, 11, 0, 127, 161, 4, 0, - 0, 4, 10, 0, 7, 128, + 0, 4, 6, 0, 7, 128, 6, 0, 228, 128, 0, 0, 255, 128, 3, 0, 0, 160, - 5, 0, 0, 3, 10, 0, - 7, 128, 10, 0, 228, 128, - 10, 0, 228, 128, 4, 0, + 5, 0, 0, 3, 6, 0, + 7, 128, 6, 0, 228, 128, + 6, 0, 228, 128, 4, 0, 0, 4, 0, 0, 8, 128, 11, 0, 0, 128, 9, 0, 255, 129, 8, 0, 0, 128, 88, 0, 0, 4, 13, 0, 1, 128, 14, 0, 255, 128, 0, 0, 255, 128, 1, 0, 255, 128, 88, 0, 0, 4, 0, 0, 7, 128, 7, 0, 170, 129, 13, 0, 228, 128, 0, 0, 228, 128, 2, 0, - 0, 3, 11, 0, 7, 128, + 0, 3, 10, 0, 7, 128, 8, 0, 228, 128, 8, 0, 228, 128, 4, 0, 0, 4, - 13, 0, 7, 128, 4, 0, + 11, 0, 7, 128, 4, 0, 228, 128, 3, 0, 85, 161, - 11, 0, 228, 128, 2, 0, - 0, 3, 13, 0, 7, 128, - 13, 0, 228, 128, 3, 0, - 0, 160, 4, 0, 0, 4, - 15, 0, 7, 128, 4, 0, - 228, 128, 11, 0, 228, 129, - 13, 0, 228, 128, 5, 0, + 10, 0, 228, 128, 2, 0, 0, 3, 11, 0, 7, 128, - 4, 0, 228, 128, 11, 0, + 11, 0, 228, 128, 3, 0, + 0, 160, 4, 0, 0, 4, + 13, 0, 7, 128, 4, 0, + 228, 128, 10, 0, 228, 129, + 11, 0, 228, 128, 5, 0, + 0, 3, 10, 0, 7, 128, + 4, 0, 228, 128, 10, 0, 228, 128, 2, 0, 0, 3, - 16, 0, 7, 128, 4, 0, + 15, 0, 7, 128, 4, 0, 228, 128, 4, 0, 228, 128, - 5, 0, 0, 3, 17, 0, + 5, 0, 0, 3, 16, 0, 7, 128, 8, 0, 228, 128, - 16, 0, 228, 128, 4, 0, - 0, 4, 13, 0, 7, 128, - 16, 0, 228, 128, 8, 0, - 228, 129, 13, 0, 228, 128, + 15, 0, 228, 128, 4, 0, + 0, 4, 11, 0, 7, 128, + 15, 0, 228, 128, 8, 0, + 228, 129, 11, 0, 228, 128, 88, 0, 0, 4, 9, 0, 7, 128, 9, 0, 228, 128, - 11, 0, 228, 128, 13, 0, + 10, 0, 228, 128, 11, 0, 228, 128, 88, 0, 0, 4, 5, 0, 6, 128, 5, 0, - 208, 128, 17, 0, 228, 128, - 15, 0, 228, 128, 88, 0, + 208, 128, 16, 0, 228, 128, + 13, 0, 228, 128, 88, 0, 0, 4, 5, 0, 1, 128, - 14, 0, 255, 128, 17, 0, - 0, 128, 15, 0, 0, 128, + 14, 0, 255, 128, 16, 0, + 0, 128, 13, 0, 0, 128, 88, 0, 0, 4, 0, 0, 7, 128, 7, 0, 85, 129, 5, 0, 228, 128, 0, 0, 228, 128, 6, 0, 0, 2, 0, 0, 8, 128, 4, 0, 0, 128, 4, 0, 0, 4, 0, 0, 8, 128, 9, 0, 255, 128, 0, 0, 255, 129, @@ -7404,157 +7404,157 @@ const BYTE BlendShader[] = 0, 0, 255, 128, 11, 0, 170, 161, 5, 0, 0, 3, 5, 0, 7, 128, 4, 0, 228, 128, 4, 0, 228, 128, 88, 0, 0, 4, 0, 0, 8, 128, 5, 0, 0, 129, 11, 0, 170, 161, 1, 0, 255, 128, 88, 0, 0, 4, - 11, 0, 1, 128, 10, 0, + 10, 0, 1, 128, 6, 0, 0, 129, 3, 0, 0, 161, 0, 0, 255, 128, 6, 0, 0, 2, 0, 0, 8, 128, 4, 0, 85, 128, 4, 0, 0, 4, 0, 0, 8, 128, 12, 0, 0, 128, 0, 0, 255, 129, 3, 0, 0, 161, 11, 0, 0, 3, 1, 0, 8, 128, 0, 0, 255, 128, 11, 0, 170, 161, 88, 0, 0, 4, 0, 0, 8, 128, 5, 0, 85, 129, 11, 0, 170, 161, 1, 0, 255, 128, - 88, 0, 0, 4, 11, 0, - 2, 128, 10, 0, 85, 129, + 88, 0, 0, 4, 10, 0, + 2, 128, 6, 0, 85, 129, 3, 0, 0, 161, 0, 0, 255, 128, 6, 0, 0, 2, 0, 0, 8, 128, 4, 0, 170, 128, 4, 0, 0, 4, 0, 0, 8, 128, 12, 0, 85, 128, 0, 0, 255, 129, 3, 0, 0, 161, 11, 0, 0, 3, 1, 0, 8, 128, 0, 0, 255, 128, 11, 0, 170, 161, 88, 0, 0, 4, 0, 0, 8, 128, 5, 0, 170, 129, 11, 0, 170, 161, 1, 0, 255, 128, 88, 0, - 0, 4, 11, 0, 4, 128, - 10, 0, 170, 129, 3, 0, + 0, 4, 10, 0, 4, 128, + 6, 0, 170, 129, 3, 0, 0, 161, 0, 0, 255, 128, 88, 0, 0, 4, 0, 0, 7, 128, 7, 0, 0, 129, - 11, 0, 228, 128, 0, 0, + 10, 0, 228, 128, 0, 0, 228, 128, 2, 0, 0, 3, 5, 0, 15, 128, 4, 0, 255, 128, 5, 0, 228, 160, 5, 0, 0, 3, 5, 0, 15, 128, 5, 0, 228, 128, 5, 0, 228, 128, 2, 0, - 0, 3, 7, 0, 7, 128, + 0, 3, 6, 0, 7, 128, 4, 0, 228, 128, 3, 0, 0, 160, 5, 0, 0, 3, - 7, 0, 7, 128, 7, 0, - 228, 128, 7, 0, 228, 128, + 6, 0, 7, 128, 6, 0, + 228, 128, 6, 0, 228, 128, 6, 0, 0, 2, 0, 0, 8, 128, 14, 0, 0, 128, 5, 0, 0, 3, 0, 0, 8, 128, 0, 0, 255, 128, 8, 0, 0, 128, 10, 0, 0, 3, 1, 0, 8, 128, 0, 0, 255, 128, 3, 0, 0, 161, 88, 0, 0, 4, - 0, 0, 8, 128, 7, 0, + 0, 0, 8, 128, 6, 0, 0, 129, 3, 0, 0, 161, 1, 0, 255, 128, 5, 0, - 0, 3, 10, 0, 7, 128, + 0, 3, 7, 0, 7, 128, 8, 0, 228, 128, 8, 0, 228, 128, 88, 0, 0, 4, - 11, 0, 1, 128, 10, 0, + 10, 0, 1, 128, 7, 0, 0, 129, 11, 0, 170, 161, 0, 0, 255, 128, 6, 0, 0, 2, 0, 0, 8, 128, 14, 0, 85, 128, 6, 0, 0, 2, 1, 0, 8, 128, 14, 0, 170, 128, 5, 0, 0, 3, 1, 0, 8, 128, 1, 0, 255, 128, 8, 0, 170, 128, 10, 0, 0, 3, 2, 0, 8, 128, 1, 0, 255, 128, 3, 0, 0, 161, 88, 0, 0, 4, 1, 0, - 8, 128, 7, 0, 170, 129, + 8, 128, 6, 0, 170, 129, 3, 0, 0, 161, 2, 0, 255, 128, 88, 0, 0, 4, - 11, 0, 4, 128, 10, 0, + 10, 0, 4, 128, 7, 0, 170, 129, 11, 0, 170, 161, 1, 0, 255, 128, 5, 0, 0, 3, 0, 0, 8, 128, 0, 0, 255, 128, 8, 0, 85, 128, 10, 0, 0, 3, 1, 0, 8, 128, 0, 0, 255, 128, 3, 0, 0, 161, 88, 0, 0, 4, 0, 0, - 8, 128, 7, 0, 85, 129, + 8, 128, 6, 0, 85, 129, 3, 0, 0, 161, 1, 0, 255, 128, 88, 0, 0, 4, - 11, 0, 2, 128, 10, 0, + 10, 0, 2, 128, 7, 0, 85, 129, 11, 0, 170, 161, 0, 0, 255, 128, 88, 0, 0, 4, 0, 0, 7, 128, - 5, 0, 255, 129, 11, 0, + 5, 0, 255, 129, 10, 0, 228, 128, 0, 0, 228, 128, - 11, 0, 0, 3, 7, 0, + 11, 0, 0, 3, 6, 0, 7, 128, 8, 0, 228, 128, 4, 0, 228, 128, 10, 0, - 0, 3, 10, 0, 7, 128, + 0, 3, 7, 0, 7, 128, 4, 0, 228, 128, 8, 0, 228, 128, 88, 0, 0, 4, 0, 0, 7, 128, 5, 0, - 170, 129, 7, 0, 228, 128, + 170, 129, 6, 0, 228, 128, 0, 0, 228, 128, 88, 0, 0, 4, 0, 0, 7, 128, - 5, 0, 85, 129, 10, 0, + 5, 0, 85, 129, 7, 0, 228, 128, 0, 0, 228, 128, 88, 0, 0, 4, 0, 0, 7, 128, 5, 0, 0, 129, 9, 0, 228, 128, 0, 0, 228, 128, 88, 0, 0, 4, 0, 0, 7, 128, 10, 0, 255, 129, 1, 0, 228, 128, 0, 0, 228, 128, 88, 0, 0, 4, 0, 0, 7, 128, 2, 0, 170, 161, 2, 0, 228, 128, 0, 0, 228, 128, 18, 0, 0, 4, 1, 0, 7, 128, 6, 0, 255, 128, 0, 0, 228, 128, 4, 0, 228, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 3, 0, - 255, 128, 1, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 1, 128, 3, 0, 255, 128, - 3, 0, 255, 128, 1, 0, - 0, 2, 0, 0, 8, 128, - 3, 0, 255, 128, 88, 0, + 1, 0, 8, 128, 6, 0, + 255, 128, 6, 0, 255, 128, + 5, 0, 0, 3, 0, 0, + 7, 128, 3, 0, 255, 128, + 1, 0, 228, 128, 5, 0, + 0, 3, 1, 0, 1, 128, + 3, 0, 255, 128, 3, 0, + 255, 128, 1, 0, 0, 2, + 0, 0, 8, 128, 3, 0, + 255, 128, 88, 0, 0, 4, + 0, 0, 15, 128, 1, 0, + 0, 129, 11, 0, 170, 161, + 0, 0, 228, 128, 88, 0, 0, 4, 0, 0, 15, 128, - 1, 0, 0, 129, 6, 0, - 228, 128, 0, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 1, 128, 6, 0, 255, 128, - 6, 0, 255, 128, 88, 0, - 0, 4, 0, 0, 15, 128, - 1, 0, 0, 129, 3, 0, + 1, 0, 255, 129, 3, 0, 228, 128, 0, 0, 228, 128, 1, 0, 0, 2, 0, 8, 15, 128, 0, 0, 228, 128, 255, 255, 0, 0, 83, 72, - 68, 82, 164, 39, 0, 0, - 64, 0, 0, 0, 233, 9, + 68, 82, 176, 39, 0, 0, + 64, 0, 0, 0, 236, 9, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 85, 85, 0, 0, 88, 24, @@ -7957,19 +7957,21 @@ const BYTE BlendShader[] = 0, 1, 21, 0, 0, 1, 24, 0, 0, 7, 18, 0, 16, 0, 2, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 31, 0, 4, 3, 10, 0, 16, 0, 2, 0, 0, 0, 54, 0, - 0, 5, 242, 32, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 62, 0, 0, 1, 21, 0, 0, 1, 14, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 14, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0,