[PATCH weston 1/2] shot: add test for sub-surface with unmapped parent

Emilio Pozuelo Monfort pochu27 at gmail.com
Fri Jul 6 15:31:14 UTC 2018


This reproduces https://bugs.freedesktop.org/show_bug.cgi?id=94735.

Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
---
 tests/reference/subsurface_mapped-00.png | Bin 0 -> 5294 bytes
 tests/reference/subsurface_mapped-01.png | Bin 0 -> 5612 bytes
 tests/subsurface-shot-test.c             |  76 +++++++++++++++++++++++
 3 files changed, 76 insertions(+)
 create mode 100644 tests/reference/subsurface_mapped-00.png
 create mode 100644 tests/reference/subsurface_mapped-01.png

diff --git a/tests/reference/subsurface_mapped-00.png b/tests/reference/subsurface_mapped-00.png
new file mode 100644
index 0000000000000000000000000000000000000000..22dd566ab8c502c832e1338de9d1e1d27c785c46
GIT binary patch
literal 5294
zcmeHL=Q|q=*H5d}MNxakC^3SdMq}MIyU>B!o7!scQQWjCsZta{t43|*HiH;NiPmkV
zc9kS0LM1{-B(LZF`2Gp+^_+8^@$p<|UB7c)J}@_Bzbtea006Mxxoz|a066p4ssHEV
z*;CE1kk>gitZw&AjR4I5 at cW*s8~}jF{f^Ns%P0hKIoiPz`)gzmUl;1-$v+A6pS8yg
zRV>Lj-m=srdifTH^WJL-8O^Ls7E<zVpK>nnEU*r&&ZQ}KW*6XiDLB}tg2J at -9pZ!A
zPmzgi=Ico;*W at P%hw&(?yB30sICC@}{XN*r#Xqx%3-F#h_Tw%9Fe7%B^}WFV6=$Ll
zF?+|G2WU$W<tgs$2sl)3T at e8ceA4@AviHXD!fQ^Y5pvv5){)?vnz4LY*tHHK`N*r6
zHWyCS05B43^jxg01k<8BLh*JPjQGHYnwr)hoB-dl<0N&n>F{FCklykys8mneG*@WY
zHm4xhW=Lm(9w{{V;pbbbVcx6#>w7<l5mnQhVNl)XI-kNyAIyPv(%m_5G0M-GAv~`Z
zxG(zLui^NW&GRHFNhwwiG5XX!<)JUb!(WEKjA-5{%<!r;23?10R9e+q&s{8<cl$i=
z&sRI^)=F(R?hF6!uaV2kXL+O&dThjm!q7XP^JilC-*B~Qf-=z)XvLdtc>HqF6L87m
zW`9I@*x_hW!UVR?A+A|`_sjF{S?6&-3Lf`d*%plR3Cg(Hbb?efjSO;VuOpr)`l-6?
z?pP2PNW}T|SaPpD+2(Fl;r1t7q}({QUk_10WP-Gqgx((eP#L&rAVlCSS|3p$+D$6Y
zc<A}}c?G_S`q4;!C(4;xU*kSKTc;-PwRlCljg2}GxR!evyNA$?{f>=j5#i?+#z!C>
z1KZKWgQz9*{8yZ1gsvLNpHN&xEL86}?9qQ{YJYP&Ue9?-ntKEu;tXc2BdHrF?P3-?
zH)6&+<^pzhXIn-%R!_8t2Nay}Kwtsq6nPVb!Efj+A}uDwba_hsX0tmlv6s=EW0>`$
zjzEiO&#z5+^>&HKK+2dgaCJ&niS9jG3{B8dqqUrWwTnU#3$2`$OK47HWRWHEW8rEA
zWIdg_Yk at 3O_nT|>MElG?c8cHodz?#|HYf+yq0Dg0AslednfN28WhBGe=2MhN0~zIr
z<xsZFg!eIoA5KnIS634k+gD3VS0Nuhh{MWc#|p2B3WrYg9Ku*1^02dhyk3xzJ?hbB
zW1x}VRpzt6NFFqWjlp?xi(6yE99LT+8=2FON?n?UxeT=6=#m?I7<z!|fqwx67oO%y
zUkp4s9Fs_yI%^nz+^^lTQYfO at D+?<I`s(|Py;aUvx at i{`i0{wYjiVlAV->=!BvK)4
zY90?3O6qSuh3~BN1{29WUFS6%TEZ9^+m}M0_C!ZvI8eACw2)@DXD#*oz38n at xg1cy
zaWHLeIlTl3neo?%^q#-}*z-<ym)@If_2 at B8KkH&G#{(R#R8%*DUZJ;qV~8JDr4sgl
ziCEgL>V6aa+h%P;5V))V03uu8E+0Gazs*FaN;m`_zHtY^^E>z&#~lCJM=M#B#}K7c
zvyu(duZlru>IvLk4O|9d at f#BD=pIirU&tm9`?>=r_fMTHzmn7TJn{+d%O#PKTx}7o
zIsWgdM*|SPS3_%IdD>{vtLcNA`-z+eVUDJKn2Vs>2=UJdPP!cEHh6^F;JAu18?KAp
zQyNTX7glXrbuZrG at c$j^@CW++f}T~6dE}<&g at DqDCo!Mv$b%dvH#%$~3tB6E!uMJI
z>Re#rsTrbs3$K*-g;Zk3dk$Cf3sk&(ai2gr+N^Cvn!_PwH7+M=u{dC{Exr={k)?Fk
zq{a=7oOQ{>vU`2Jne6(mMOqq$86}I11RqR=vf7I%+uAsV#bV(cdcQ;SoHo<@Aoq*%
z6gBAD>G at z*KQ at qnM!@o9ui=H#b%S at JTm~h?xr(|bahc;omXKUOYwZNA_7{>QNT9n}
zMlchGTtZP>Cip291Z5;KHH*I_-m5>m!U)8McHE at Zbk@EzFf}&j<>eJLtNi-ulT7<+
zNmdpoMqEQuwfRoYV${Q*S|$9(w|LmHuM1{+wG_Bqj$hxNn6Ln<$1$HL&vq_q#I;vH
zPQO4$>8kIOnp9rvkZw<YW+6NQBOo{m-#6xlv(lZZtXn>YPQcGz*e633I|$(6IKw+(
z72kD%bz-siWZDAvtnBEYl<333BSYudBN&R1%4x8IxN(s0j>2thK*0ECTI7hGyA~Fx
zBV3UdoWPiIwg)ZeXJx&QaeT6{<fc({fB09K!HUa)^3BK{gTXX*g`jKQQU+f;$@~$F
ze`o`vEM0uZsO$ZHb8&P4d|k}Dc!p5WpzqIk2<l2)oAN~G*vY8- at L<H1G>()-^^5dN
zu|p93yh0?b_Fp|?+{^DO(2-~DGBPG6Ceb=O$%E;(B`x`jo~7HAqi(0yi&)Z;hw;OU
z at IKA&4UVxkx3c}&FG>ta<ApVR>tY;}C#?s+g=(He9hNS(chK at Kh;`_ztA|r-(P|*G
z(v#6L<c_zSst~50t{R1PA4$wD=08c<U2ZSsHe<L`7>1 at ont}c<o+p=M3*M at 1eYhH+
z4brdl{^HWaX~23_n7r~&hG8t}hM9s^m<LhwrlS2)t<PQc$R`-VJdWf09P{NQcrVS>
z&)gi2A*vO;`{Os~5r;~LM*M*i*#?`y$b`XRSHtu_tU1hko)NUJpim|wE+~H>aHTMk
z{@XQ;zvigYw^HUzZGMA+DM at EyPiG>S#=!?kjf(H3vhF2|e-f$XlH at Gr9N0^)k%g7L
zb^eFY)nFBqnnLKqlY^5tQ1t}pNC;!KGi&5A97zJh^AE%nk2ZgjY=Ma-y1`4SDpD)4
ziET_oTQnJWbad2DV1<K{#h)ejC))FzGkDP;-&LuSYo1p1H1lLJr+T#7LQMY0Q at GiF
zX+^1)?T-q~y^O=MSy?__-gq*x9aW+=nx#;p07aNrp?QHopv^U5VaG=y8c{j&kwzES
zq^~I3CY#oFdzlS$P<=2v3GqxNG${ymf(z-48g<L?<)Lm3cq-t=5nEwh&6VbOcCSh$
z^Q2KLvk#v0Acf|#ugx`YwMER^?Ll7 at Xk(&S?A7$e^}Vs?I(e8R8U{w|CClw+@{$zF
zxDCF}llk4;-Oi!|QHm;bfo^YA8 at J07c`wUucOMLz!n<@!8XS>@!b at I$OW;4QFHy^=
z1X^1F3wgLLz>cp}&%Hg}eAzZH{;<^6vGjKI#w6(S!LI6v4C at 5Q*4*WOF!swF{rPvf
z(NVuShQfINT?~b}vyhKK)Hy at 1M<g_zv~`OzqC=>nvl~i(1NBp<vCt at L{=lPxRv8;%
zb at ibok?sXt{i3IF=1aKU9#)mfR$)HleVK at IZJj??f<N~hwa<1p&;5jB^c1VqRMym#
z$-=<3&0vMGg2z>t8VoRMt3gK=Ougl&-wN<q^UqI8{9^D#ZBpCcb?y)WjXJw- at 1wE!
z3s)D2aK1wgVeMb7OPTswqF3jzF^4J9f`Wp9woHkj*VhG4r}6q9I^yUReNjecCA(NX
zVG at SG9o`Uy$|}YlFS3oKizMj3Q)wlv%lRnxfcMG+szz+gwH}8wY;4~&`06fK?B-tf
znjX at 9=hwIO>2%TKqx{3wBDvdKsae{A$X4>8sGc(^7eindBlg at RqwJ`YfBIQ80~cxA
zYK}WT5tyViELtgYbU0LhX${zjT3Fvr*~VhmFl=fGyfzw;GnYOPVrXxx9HmEe1M{WJ
z_GTG_j-yrxme?LAGfcEWSmm#jr-DotWF-MsDepT(e$RVaG+tAea}JGh^v!JTYr?xL
zy+i9cD5n$RLSlVm9It5}meN at i6JaK*NmBnfY2y%wdxdp=YWDS~^p(M;X|Hi5y>Jqi
zpJrZ4GU*)bWcKw7GBwfo4spA(OA=)L6CKHcw&;^5g_YlE{(Fne at dIU!xq8An>q7^|
z&_G}IcKd4a!FPWqg}m0-8-+H at L~mpLn5_)prc``QpoS at zfgNc1aBd^R_!Zw4lv{^6
zzP!KQ*Du9Xq0ef{EQRb-Uph at x5tkUi&=i at qNFILf<u<cyf91Jw?!ji)IW{%MY={=3
zOJz=SXl|BXz&T(^tBeR>%sdO3n^8)n*(;hjBYkJ7F9o%)m}9njZ)H*u6(!ATZ6;<Z
z{9WIRJ%(VfY*INVhNcT^-nj)zrvC2Q>5Q`5d#lEV77pl==T1{MkxpeJw3b?Ro15)z
zb`6J|RkmfD`_YH^7Z0Y~ysJJt0s(_=mq{1qgZ=Wpuf91f9j~kIYLE-mmdJ2{y_FQQ
z?439$Gc-bNFXZ(L`85r38F*N9w$~Xw_Dpk){%F;#{%1EV1oyi#a;30vX}<8;6Rcp}
zwmdnnblS22Yh-AI5Vx&eeN#K`XvZU<I9}*F%z;x<oU)u35stC`b?T|l@`Q#~V5`E+
zYP;z*GaEx}LJ}U!TeGbKqWC_{b8q;yZyzimszWQ+=+!*)kY`1%0`8V)B|Z$LL4N#V
z+kj0Z*Mw9(7Zs4YcH5(4&rmEd`BHZ4n2wk~#_Pw6H{Bl9B>H2Bv1PQIV4!J!&^51b
zko5~!dOfUKu;Gw54KglFkto9*)(_TCdOVGXd4#r%s!#`Ec_JJM*Uvs8^4MWo?S<_m
z!H?=AT_TU+{P~!*a^O}=R<*W+-z;mLAIyT%X<*LbtD`e`&pHju3F&Kn at QtU?RUnVw
z)?B>Y`V4m(gl+45he?#d?fYRfM_1NLl$}7zMSvveh-zw`6I6N1_W(6_2_QSLWfa7y
zs&rPOe+9qv7D!U6V=lFs)s|zg=w+W1V`q6#{_9T7>2f{L{kG$Da3u2P=_CZ8NHwYN
z;xr(U$+7#t_b4!4XGKT)*hX}hi<hk!rU9_k36pB7^oc#(A!6Et2(+D;r(wWl!Y78+
z4B**Et8?3l(m&y%+Q(HD;l4C{wPBZ^m}zbh^E`ku;(0~^)*Mee=x^+qlkPkz?_aij
zJ;*dk1w7EVI#);N3K`8)w4a)uM(Q*E{NQKG$Bs=x{_3I7?4 at OIY54zu1TJ;-PLy9I
z&f4z%(qemHal&x;-3MM!27yN0K6`k1#l(@8a_t-Uq4xnD&y`|TQbIag{V+moY5V(O
z#t-!!i_+81Y!yBGPZTi}-`ZK|!R!-6-~?&+fW)dM#QI5J>53Nhk#!#li>|jOynS=R
zOUdCaI{4_CbS$+`>C0uY=JD)LKA$Y^@p@}FB=KF#`bALTzmUJ;IfYI$!tfSMyL0Cb
zm+_<v<V9K3_K(lpAoFn%=Ggm;NX=dC(U+BDyR94mj4ki(*ENnG>wEh<%ScD$zxo7v
zf4KyU>Qk&J_}7mG)I&bN%uD&RVmG}1&6d8$V_cvc8-a`<LiLNSpKbG?g$2?iQeCy2
zAPeV0Hz=q^0H<V_5F$7C^x&yWI60PsH3zQ`C#PIUXOFve!?dU at NOef2(2YBDGV^?>
zhvP}G5r8VCbR}xxAD at DP0)3(`BxFXm1n+6fa5>lp0pqnk2eVjnMvux1)F*pjjUWHq
zz01<az8~AC<~1&$8?)b(vFRfva|%i+o6{pqW*>@|?`o8W6(#yb0~b?xX)SyJKruA#
zTOWB1RQ33(u=&_}V at LK$CVDPF?4~ady4k7mFsCy#HsTIkwYhMs7K=1w>1%z+^=H|v
z=&C>g<y)TaBM-w#A+?}c9F<CS>WQhYIUeG7?pWTLfh$_h*Gjo09j8jCQaz&ke)|ZM
zE|<SZOO{JsXMc+Bc5YmS`tEz at c?M_{)zq9F`3-YeY>&K<<d-bXMjjIe2CT&2hrPg?
zX)x_wRS*z7dRI#F<K?SjOP!(kQ!J2QzxegpEK|-9&{6WP(jt>my3~x|M0~2G{;J=0
zwp)$fvJBptbL{d~w{gFDYk(J=be!UI5N0w|QJtk4?)W&qW}?3OGMZE;`x)_~%Hr&d
zf{sM)6vbU2k6ZBLUt!D4!#B^i&wmOUD4DYki|yID0&tMN|MHA%TGD^zzd88-*8>Oo
ZgGxg0jd>gKrw>TL9b<E&1_PJm{{dIeEKC3Z

literal 0
HcmV?d00001

diff --git a/tests/reference/subsurface_mapped-01.png b/tests/reference/subsurface_mapped-01.png
new file mode 100644
index 0000000000000000000000000000000000000000..39766ceb97af39451f3e44a1dde4c685768452c9
GIT binary patch
literal 5612
zcmdT|_d6Th`;PGvYVQ%elu~<d(poLrC>2_2uM&;DCA3w2QPe24R~3oXShcHKv-XG;
zvzihTTZ!@U{`&n3zVA8be$M&jzRq*q=X$PlpA+{0a)*(gj~)O3FdE-AumAukZe6W+
zfRtD9!c0>8YNByAy<-5l{I?gjm!$y!oJGb4w=F|+w{c;S_wcK|yLj(9v+0yqR!`BT
zrEuwIz|w4v_R>;`sc9<{ndU~0xb}?2qdgeZl(T`o>Rg1=#*%-MO{B;MCMpU{n;khK
zyC at 6HmMVwYACr+M*EIqfc~5?X4fp?u*+ox90|0q5s6`4uxi&S!ErtJ!js*=H16?a6
z<-&3PzK&o5-lY>7?gx<2KcT=fF!CsPr~9hq<F9ott3xu}c9~N}Ig#7Dp}&xOV at tkj
zfD5&ELbcL^4Bhpf*lIS|rLLG^#=40#5Ws1U{1RVWjxqr at r{oawzG9 at i<;SXusm`cC
zOuaQ8QA7R1W1ID3G9`AhnNwa3^V`9#II;NnVu|=YM-l}`o!fS5iTHTgkKBh-T9nLB
zPPjkOQynqy2&sC{Xp!33y+2XgzR=h2KA>qI^R}R)!%(X|o15Gsc_?R{ot at otuj}{T
zlTC;wX_bumYDtxRiwf{CI~u;OQ7H?9m#VQYla5#F={72EHsg~n!@ZYcp$T)1aKD1!
z0){QJ(OwTUQ_(^$-vrm@?l%#oEZNrYsyLjjNSy4#VUgfQkNK8zk8DfVSM4qB{(+ZC
zZTp at TtxbXdJhM$<<Q)45wH(LDA$1x_!B#y4JFSyNWmR}B>3XEbzGEEhk2CQei9t;^
z_pa7k?Xa`ERaUm@=LyY92#@>>`CnIzt5hWYNds2MFPKPi$7BgvhvwCdp2W1Y5Vj0x
z+@^2y-d?p<E+k{^g^Wrrq^x@*P(4pJbAss0qGt(x=SCe_ppjQ?B^Mm`=HHg96Vcea
z7I)VDbJr!e$^YW?M#t$^Ns_{|-lUw-$`d7>h`^;*a;qb|T=RAmVkqXVpq>3<R_<AN
z&7w|ANTznueKhy0*VN%YSFDXZtsW*`LF@<5I)QmrpC>17+u14u_O|!ttsH*jogD5#
zN3_`++$NgPT!^{faV_ica^TC`1;MM|c2 at jiSUix8zdvtBz`~8(SFSHeYPS51zZWNU
zvfejF!^o%XIqo|BgL#pE$7;1aq<zKJ%`R-c^bw at 34w8?L2qr{oNSXT2g4ATK56q<u
zU&W3t%2B?2QEc1jJ&RfIKRBq}k-uGHPRGi5vyTmAuBBHpRgRLp8DH6lLG__F1Dg at t
zugQky>1n(ku49J4{<;=Rs7`){d!_kn7QKH8Rj_}@_=3~|=6+rvmbk<`zt8!UMg568
ze!cM}gdYo^QS|AuAfYml7eYBWg~%;~r9+r<cJN38NZIxGX#=|9LKt7e2{LiG5do4G
zXVK${<voHgQTQA(Fkfr-Re&vKnp#)mmhF58=fpbmS{+sS3lfsXy_5&7qLhM;7FNN4
zPc>~$BduQu_i~Lce|=%K9?t&<KK}PcX9S~B06x>1mRaBvV(^CDt(n&ai1Puo-QosL
z#cx_W1Dk&I^bOAfSYw^c{89Ajx!%W-lfCau0<^~jmCyrG$mqL9VUoaZ!&)n;$$Pdq
z^obb!>xyr#`nw9|%8m1B$BKu0-Vpq30Qcc at m62yAo{P?ivdp<;fy`ULeszSVgnS_k
zpPAZ7^58l8&Yd5inF~HYaPjr^^$bC+5}klDCgVf4P2mTdS?XbIy?%eG+CIl2mB0n^
zZ~9#^v)g|iQRWP}*Uh(I0)<g1k!9K#_Q2disk6ri$U!>Ij5RvpbMm1%RHf0SEXB{S
zoAz*f^eF4=UpkFB at cG2AK5k98tSId5`L*4jOD(wS`>@Nmum5Tn>V<_>-G(&+X`=M{
z{+R32woL_0&iFC%>*l?eha0WF&vdcjl%2;X!nK-wl0!e(TUt)S^6Wte?pU^v#YZJc
z)7~o$M(tw-PVd_mp7cM%hb674!!ClV92o6AoWl|)WE#D2b1oxt+qWHgK8B_Bw04;O
z3c69H at t(aN3{sy|)SPo^ecTfZ6s`%`4%CvmuKs(33R9>AJ2%mtQ;Xc}Ct&@NX5f0{
zdTJ~qzu$|-`g381?ma%pXp5m?8P;@|lJv7CvubOprt^0_o8DshdBZvy%l1xQ+Illw
za!W9F^!fAWv$M0|FNOb>uO*fw$G(1z1%CQNOFdad2G+2uC*f82ZeM>Iq?u>$qs&Ja
zI|{|ShKHZMPZ2kB^M;&+VTnR>MqtAEMnz%BT2K4V*K4zQ$o4|5^Z4f|75Kr2kQPW8
zzwYOyov6e)%x+F at q{m)zFJA7+_?2X at q|9_eeK)MHsVDBD5>I|6h+U8Eu${4p)6G at A
zXbRv?O-tj=sGHrYc%9tS+Y3J1(FgSgMXVPLi4-s~GiTzG#<|pZ6KP)Rifbic`Pv^=
zJ9P4Laal#OE-|v|RWE%G`_uO+ClgX(qR}a)k&>_B>>BwxNr0A#$59oy^y~?%Ae&{+
z8K_rhUK)dk<sB2r=3=Oj)wv+!l=~ut=}K0MZnphMbWNu8O_zIqX2ccA`a5i4#r|&w
z6rSY$^G|g2t<1qJzh4Z40n?P|->f*n<oRuXO^{%+gfUwe>*r07PIxY7pk^nF-dzYW
zu{OKGwMl=J4E5bj7eYp^3d!(;&B?PK1)fVC=Y7YiY-L0Fms111LTK11q3PKZlGc9n
zKDPl`hBPn%$^EHJL;7_3bEB at oYib-*Y%^f>QS42atR~9t9<8ykO;sF=q6B=Qtd0#L
zWCrCBTRWJonorA7hL=lNXtbhH41?szGOouT{=^28bl&FXZUu)k(0tqq5+^N6HG88(
z3N%Ax4ihOhI=4u;hVD+hoRlt8R5i4I9`42y>o%L$dh{)kXBft~m;<-1nh*ZacJ40s
z`WsQ}ZTQ8p5`#nF?m)%eFMC4PMO2~r_^a_bEsK{y7 at jPyENaO@o#n!*M_tUOr*8jN
z%sBPK3tKBF^xa<m%JS`<Q0?5pePk6%ve$pHU_)f23}k&Ok%TQh&yNsQ@?6Xubcf{2
zdoGllfpbPM(!w9iON=%)HahmX1kI>#OMslbsGqYG52T_b7;FP8)gm_kSUbRlCN9<|
zc*Wmj0Arni!rXFhL7OK`YaMRWFic%t6KTe8WmPOTeeV4byh#gGR8;ipp>#&!!h-ga
zp~(V^a11spG_PW^H41y(&qKB8-f*stLyf)87!v&_l-xJwf*`la#ILRoW(qLT)+ll2
ztFr4^RnFHs5*b=?3PC;I_Au#%#LjXNxu1X5K#vZ}4Gu4)YG>82%6?cT{0Tg>QX;;%
z4<kL8+GKCc at ozn$`;z}L0Sbqy!EGX|^R!Rzej92-yH&o#@`NS|OOYClN`&Erth!Du
zyXxUQt%8xD^iateMM;$J0?$;N@$eMP3O(h`aGdwrZML~iyjOSW^cA;*CPH%PY21#0
z87B7 at g9^Q6!&u#+i;HuQ_&v!r$5Pa$+#R!T- at ZvdYU$A`wIgJJ%LMn5(gqhFi18%G
z(wJ!n|IB<D|MMmija%u{-p`S(y#ZrVqXinW;X;-RCHlK=Kj)vW*-v^vOo;eQ|Lka=
zJv5)4`Xbr-0R}`sm{@U;raWeIs-@$LMeSPs-z`f9s_dU%6r3ItReidgbNZMz$wuel
z$$}>5&3)Q7Rl(SgP^mQ4eD!yp4Rd^I-tx%F(R7`NZB>4PZ{*&|YD^4uSvm2(PW6Om
z!85L#J7+J%q}m6K3?}n6f>s9@`xEm~U}xXXtU9o}dPm>N at xF$VX2_fE<Kb4#e1nGV
zFaBQ}76{E at SUO<==XskKFNZIJJK*2C+1J(}m#6a{1;d<y7cp;p1uG`1?;l{MmOkU)
zOAUw?$9^>_t|XA^(~%L+n$GEs3YuhQkowyRzJbLDt*T?BOF}!*hq;l9gGKL+QTO#A
zuL$c$t-;%6{5ozyCf1mmaBEBi>A7iU%_HgCelKaSl$GO_b^UDd)oFHI)~^CJr`VWq
z{kUy#L;eKYl6hH=S?JcNo!_>yd?#+;Mm$@4+(Z6WU5@$?%G_~fR8uA51(~}vd=K~6
z$ET7FCpCk8I|r{LTf=&%FNxAf&O036^KOC<elH-u{w at k{*A>UlWq<G~gP1G_-H3Ja
z7|JRLSRZetI{k6sX!3jrxo7z+_c90n2{-xv1yI;DLw5i8c)n?$-_V>Zs(o`UYUBWN
zJk=0zr^+a;-raB|JxeG`kpSLr$Bx|TP%AvrZ-CogYrF`-lXpvWFkZ?uY<k&-y60mD
zG4G_T%O%$$d`(YQdT)0db%OWWZ>D)&A}^dr)W`z5f6^2_z-ReUtRRjlZHxL}<*4UQ
zv%l{1`PkRZXpOw#RdQ#+cn6Kwj?qbr_hA&*&p(gWj-H*_-bpHL at WQDoDRpz~-4zpz
z%o(cQl(~_&j!Z0|6Ta6h<b^%!uibd)5g2|rWm1VCe7w&tE)E)&fW4)OO6kofwIGIS
z+!0H0NrcQtLwO00Vpy<M=y++~7eXR2<*3b;AgDj5Ji{R2-14y~1DcsZ4r9}#V&*^3
z*<XU9AEav={-9z at AGN>o2_NBo62IldlffRy_mHJV>DlAfpAR<8;vRaGqeL{SV&q>4
z-@*%7L>5%dmc at l*8)T|xS9Q=Fc7GA)o8zSwueKPvx)Ml6W#UOy4mA++``}+Yy$P3;
zMu7{#+)u1sQ`VJjF8N*zKe>nnHRYYmzJjGK1os}Ab_CGJ0!ZDfKSok;!G<Y38Ee$-
z(<2t4h^|Z}ux*NAiCFQUKxhhM7c+Mb(h!=yIzcjiHT;}T_{uz2f1C4TI#V0vp;GB7
zmXlX}<V8lJuK}gbvYmJkj_SgO2{L*FYkgA_1gB*jzsy4PA~=^iz2QQ{Os#`DuUQ`K
zP-Ux}%&(G-%`!PVtZ>|s+x>>AWW==tYg96V<)tpRtOmSQNPedXp1YaswIK{`Qf`?K
zD$t9?qRv3ZW5fBVqgs6aG2#ZL1(C%D`cBj7M$|((s#to=oDM#Kp14*hgsKzK4+$L|
zV0;7>P2Te3&`2rY+2pnNaDT)^L8T2`XDH&0bqZq~q>HhXbo|N^d%GRL3^W7MG10gA
z)m35>xDmzxfF-lEe&4T#1galK(C<?>00Xs>=KMO3qt4 at B8RgM1QjNYk%)gR at FRMPX
z2(mmT4=^OQ-921O1|v~j?1T)N(H&_%n!>*v>O95u?uLhl9}{t%xZ0JR26XH_he~>*
zjCH?l`oiqi0BS1^F&UXEp90;XeB>F}B?1k%Js}m-M5BVm9Z6ag%mSK|oerIi=9ljk
z+HzJgH!+VIv}gfttx}H0sZ4^}>fXOcAqp~Oj0DM6Z`7ML`CErU;*L;gDR^tC6RfM-
zVcV;^Mtk-!kh9P!+KVufZ1Og8YpwzIHHHph4+9r_X!R#vkyH-xu%c^s#_aq1`){P(
zR8SaOXXSpT{a}tPPf<vZJ9MYnfZH~~uU@>nySu5Pa=7gHSPE1QhB8CcbN|<sSq?jk
z(BFbsj}w*cVFulRsa`t at vi*Q$dV0F6Y7UqO=aAYtx6^H`%<urgfdKpNMvEESbVN4)
z4OHqq2vP66s~eax!80m<E9il;qoH}*m?8r^KR<fxX}wLAQHe$fap8LcHy#2~R9{I$
zh|Bu%>F<ur(MESZrYq=MVVqg_Kir%`8zvM-O`q(0cGKP%HXZu$Yi1zo0T*C_TZ~#e
zbZ2=AZEc#W9CdNVC1X=h7?)dH;LN}(GUx-lecK9;+22q^U3O63Vl{l-^{@<*r{-h7
z)PWE)o~!dPGjexdC~Q*h`CETfpT;z%i>-(mCB{QV#0uS^j_zEoj`kSJe)s-;sOa|O
zZv~god~U<t{gZtM<fr=vRV-GcJDPQcYS%QCY7{sw=i>o8$7H2tjeuWo1hiCToq{{f
zC#a~XB94jM=Q=y<m6gwHnlg1{izUC2DMCUEu8z}Jd^wI?oJmMG^6nWezXcO#-)YeN
zQKFzytlQ(J`SYn_LmkcU)SHhDk1Y2liYS)5KC|zz9}<{BIzi-%wU%i4M2*nhkBBRK
zq7!kH?iMzbtpX{lL!f&wzpYrW1pmsWr(LY>yH#md!K-;G-?colJJ&W(^a&B<Q3{qG
z#2}GKjPx~7iHWltcu at c#2+WZG@%HAmV*#zQedcvW<YMwyXLYBpQ_?vVrIMl&vyg6X
z$l7$vvj~&(k{-YV!}q5(Z;ta9FuBV)<sxBvLtFbpn|95qY5vRQC<WLM7i4sWp6k|O
zm-6paU;MabiXs%6qJ!zJ=wln)t2FBM=WB~(E3{dmyO~kV-Cdg-J9f<g+8!lD*J~fW
z`SHiZoEGlFj!X$S2I at Nl;)Nam8`y=mQz`e)sF$EZil`aP(c#=CqlKo<P}0{+YS42E
ziP-4>HhQcNnMPxTy`Ut at FLu7vG=)5r|8Yzdn(9GGQ~*o1q%Qyt{r{&RN72pvo|xIt
S_PP4L1sEGb465}UU;GbN*m+3+

literal 0
HcmV?d00001

diff --git a/tests/subsurface-shot-test.c b/tests/subsurface-shot-test.c
index e8bab676..53c54578 100644
--- a/tests/subsurface-shot-test.c
+++ b/tests/subsurface-shot-test.c
@@ -261,3 +261,79 @@ TEST(subsurface_z_order)
 		if (bufs[i])
 			buffer_destroy(bufs[i]);
 }
+
+TEST(subsurface_mapped)
+{
+	const char *test_name = get_test_name();
+	struct client *client;
+	struct wl_surface *surface;
+	struct rectangle clip;
+	int fail = 0;
+	struct wl_subcompositor *subco;
+	struct wl_surface *child;
+	struct wl_subsurface *sub;
+	struct buffer *buf, *child_buf;
+	pixman_color_t red, blue;
+
+	color(&red, 255, 0, 0);
+	color(&blue, 0, 0, 255);
+
+	/* Create the client */
+	client = create_client();
+	assert(client);
+	client->surface = create_test_surface(client);
+	surface = client->surface->wl_surface;
+
+	/* move the pointer clearly away from our screenshooting area */
+	weston_test_move_pointer(client->test->weston_test, 0, 1, 0, 2, 30);
+
+	client->surface->x = 100;
+	client->surface->y = 100;
+	weston_test_move_surface(client->test->weston_test, client->surface->wl_surface,
+				 client->surface->x, client->surface->y);
+
+	wl_surface_set_buffer_scale(surface, 1);
+	wl_surface_set_buffer_transform(surface, WL_OUTPUT_TRANSFORM_NORMAL);
+
+	wl_surface_commit(surface);
+
+	clip.x = 100;
+	clip.y = 100;
+	clip.width = 100;
+	clip.height = 100;
+	printf("Clip: %d,%d %d x %d\n", clip.x, clip.y, clip.width, clip.height);
+
+	/* create a wl_surface */
+	subco = get_subcompositor(client);
+	assert(subco);
+
+	child = wl_compositor_create_surface(client->wl_compositor);
+	assert(child);
+
+	/* make it a sub-surface */
+	sub = wl_subcompositor_get_subsurface(subco, child, surface);
+	assert(sub);
+
+	wl_subsurface_set_desync(sub);
+
+	/* give it content */
+	child_buf = surface_commit_color(client, child, &red, 50, 50);
+
+	/* verify that the sub-surface is not mapped */
+	fail += check_screen(client, test_name, 0, &clip, 0);
+
+	/* give a buffer to the parent surface and make sure both the
+	 * parent and the child get mapped */
+	buf = surface_commit_color(client, surface, &blue, 100, 100);
+
+	fail += check_screen(client, test_name, 1, &clip, 1);
+
+	printf("Test complete\n");
+	assert(fail == 0);
+
+	wl_subsurface_destroy(sub);
+	wl_surface_destroy(child);
+	buffer_destroy(child_buf);
+	wl_surface_destroy(surface);
+	buffer_destroy(buf);
+}
-- 
2.18.0



More information about the wayland-devel mailing list