OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 This tests verifies that filters work even on composited layers that fallbac
k to rendering in software. | 3 This tests verifies that filters work even on composited layers that fallbac
k to rendering in software. |
4 NOTE: It is using the fact that Safari can draw drop-shadows in GPU only if
the filter is the last one in the filter chain. | 4 NOTE: It is using the fact that Safari can draw drop-shadows in GPU only if
the filter is the last one in the filter chain. |
5 First we apply the shaders using a composited layer, but compute the filters
in CPU. Then we switch to compute them in GPU. | 5 First we apply the shaders using a composited layer, but compute the filters
in CPU. Then we switch to compute them in GPU. |
6 You should see three green rectangles slightly rotated and blurred. There sh
ould be no red and it should not crash. | 6 You should see three green rectangles slightly rotated and blurred. There sh
ould be no red and it should not crash. |
7 --> | 7 --> |
8 <html> | 8 <html> |
9 <head> | 9 <head> |
10 <style> | 10 <style> |
11 .box { | 11 .box { |
12 position: relative; | 12 position: relative; |
13 margin: 10px; | 13 margin: 10px; |
14 height: 50px; | 14 height: 50px; |
15 width: 50px; | 15 width: 50px; |
16 background-color: green; | 16 background-color: green; |
17 -webkit-transform: translate(50px, 0px) rotate(20deg); | 17 transform: translate(50px, 0px) rotate(20deg); |
18 } | 18 } |
19 | 19 |
20 .blur { | 20 .blur { |
21 /* force a composited layer */ | 21 /* force a composited layer */ |
22 -webkit-transform: translate3d(0, 0, 0); | 22 transform: translate3d(0, 0, 0); |
23 background: red; | 23 background: red; |
24 margin: 50px; | 24 margin: 50px; |
25 -webkit-filter: drop-shadow(0px 0px 1px blue) blur(5px); | 25 -webkit-filter: drop-shadow(0px 0px 1px blue) blur(5px); |
26 width: 0px; | 26 width: 0px; |
27 height: 0px; | 27 height: 0px; |
28 } | 28 } |
29 | 29 |
30 .before { | 30 .before { |
31 -webkit-filter: blur(5px) drop-shadow(0px 0px 1px blue); | 31 -webkit-filter: blur(5px) drop-shadow(0px 0px 1px blue); |
32 } | 32 } |
(...skipping 19 matching lines...) Expand all Loading... |
52 <body onload="repaintTest()"> | 52 <body onload="repaintTest()"> |
53 | 53 |
54 <div class="blur before"> | 54 <div class="blur before"> |
55 <div class="box"></div> | 55 <div class="box"></div> |
56 <div class="box"></div> | 56 <div class="box"></div> |
57 <div class="box"></div> | 57 <div class="box"></div> |
58 </div> | 58 </div> |
59 | 59 |
60 </body> | 60 </body> |
61 </html> | 61 </html> |
OLD | NEW |