Magellan Linux

Contents of /trunk/xorg-server/patches/xorg-server-1.17.1-mi-partial-pie-slice-filled-arcs-may-need-more-space.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2575 - (show annotations) (download)
Mon Jun 15 12:22:48 2015 UTC (8 years, 11 months ago) by niro
File size: 8539 byte(s)
-serveral upstream patches
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
4 <head>
5 <title>svntogit/packages.git - Git clone of the 'packages' repository
6 </title>
7 <meta name='generator' content='cgit v0.10.2'/>
8 <meta name='robots' content='index, nofollow'/>
9 <link rel='stylesheet' type='text/css' href='/cgit.css'/>
10 <link rel='shortcut icon' href='/favicon.ico'/>
11 <link rel='alternate' title='Atom feed' href='https://projects.archlinux.org/svntogit/packages.git/atom/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server' type='application/atom+xml'/>
12 <link rel='vcs-git' href='git://projects.archlinux.org/svntogit/packages.git' title='svntogit/packages.git Git repository'/>
13 <link rel='vcs-git' href='http://projects.archlinux.org/git/svntogit/packages.git' title='svntogit/packages.git Git repository'/>
14 <link rel='vcs-git' href='https://projects.archlinux.org/git/svntogit/packages.git' title='svntogit/packages.git Git repository'/>
15 <link rel='vcs-git' href='ssh://gerolde.archlinux.org/srv/projects/git/svntogit/packages.git' title='svntogit/packages.git Git repository'/>
16 </head>
17 <body>
18 <div id="archnavbar"><!-- Arch Linux global navigation bar -->
19 <div id="archnavbarlogo">
20 <p><a href="http://www.archlinux.org/" title="Arch news, packages, projects and more"></a></p>
21 </div>
22 <div id="archnavbarmenu">
23 <ul id="archnavbarlist">
24 <li id="anb-home"><a href="http://www.archlinux.org/" title="Arch news, packages, projects and more">Home</a></li>
25 <li id="anb-packages"><a href="http://www.archlinux.org/packages/" title="Arch Package Database">Packages</a></li>
26 <li id="anb-forums"><a href="https://bbs.archlinux.org/" title="Community forums">Forums</a></li>
27 <li id="anb-wiki"><a href="https://wiki.archlinux.org/" title="Community documentation">Wiki</a></li>
28 <li id="anb-bugs"><a href="https://bugs.archlinux.org/" title="Report and follow bugs">Bugs</a></li>
29 <li id="anb-aur"><a href="https://aur.archlinux.org/" title="Arch Linux User Repository">AUR</a></li>
30 <li id="anb-download"><a href="http://www.archlinux.org/download/" title="Get Arch Linux">Download</a></li>
31 </ul>
32 </div>
33 </div><!-- #archnavbar -->
34 <div id='cgit'><table id='header'>
35 <tr>
36 <td class='main'><a href='/'>index</a> : <a title='svntogit/packages.git' href='/svntogit/packages.git/'>svntogit/packages.git</a></td></tr>
37 <tr><td class='sub'>Git clone of the 'packages' repository
38 </td><td class='sub right'></td></tr></table>
39 <table class='tabs'><tr><td>
40 <a href='/svntogit/packages.git/?h=packages/xorg-server'>summary</a><a href='/svntogit/packages.git/refs/?h=packages/xorg-server'>refs</a><a href='/svntogit/packages.git/log/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>log</a><a class='active' href='/svntogit/packages.git/tree/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>tree</a><a href='/svntogit/packages.git/commit/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>commit</a><a href='/svntogit/packages.git/diff/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>diff</a><a href='/svntogit/packages.git/stats/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>stats</a></td><td class='form'><form class='right' method='get' action='/svntogit/packages.git/log/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch'>
41 <input type='hidden' name='h' value='packages/xorg-server'/><select name='qt'>
42 <option value='grep'>log msg</option>
43 <option value='author'>author</option>
44 <option value='committer'>committer</option>
45 <option value='range'>range</option>
46 </select>
47 <input class='txt' type='text' size='10' name='q' value=''/>
48 <input type='submit' value='search'/>
49 </form>
50 </td></tr></table>
51 <div class='path'>path: <a href='/svntogit/packages.git/tree/?h=packages/xorg-server'>root</a>/<a href='/svntogit/packages.git/tree/trunk?h=packages/xorg-server'>trunk</a>/<a href='/svntogit/packages.git/tree/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch</a></div><div class='content'>blob: 668ae21ba31bd4279d05cd762c43737737e8109d (<a href='/svntogit/packages.git/plain/trunk/0001-mi-Partial-pie-slice-filled-arcs-may-need-more-space.patch?h=packages/xorg-server'>plain</a>)
52 <table summary='blob content' class='blob'>
53 <tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
54 <a id='n2' href='#n2'>2</a>
55 <a id='n3' href='#n3'>3</a>
56 <a id='n4' href='#n4'>4</a>
57 <a id='n5' href='#n5'>5</a>
58 <a id='n6' href='#n6'>6</a>
59 <a id='n7' href='#n7'>7</a>
60 <a id='n8' href='#n8'>8</a>
61 <a id='n9' href='#n9'>9</a>
62 <a id='n10' href='#n10'>10</a>
63 <a id='n11' href='#n11'>11</a>
64 <a id='n12' href='#n12'>12</a>
65 <a id='n13' href='#n13'>13</a>
66 <a id='n14' href='#n14'>14</a>
67 <a id='n15' href='#n15'>15</a>
68 <a id='n16' href='#n16'>16</a>
69 <a id='n17' href='#n17'>17</a>
70 <a id='n18' href='#n18'>18</a>
71 <a id='n19' href='#n19'>19</a>
72 <a id='n20' href='#n20'>20</a>
73 <a id='n21' href='#n21'>21</a>
74 <a id='n22' href='#n22'>22</a>
75 <a id='n23' href='#n23'>23</a>
76 <a id='n24' href='#n24'>24</a>
77 <a id='n25' href='#n25'>25</a>
78 <a id='n26' href='#n26'>26</a>
79 <a id='n27' href='#n27'>27</a>
80 <a id='n28' href='#n28'>28</a>
81 <a id='n29' href='#n29'>29</a>
82 <a id='n30' href='#n30'>30</a>
83 <a id='n31' href='#n31'>31</a>
84 <a id='n32' href='#n32'>32</a>
85 <a id='n33' href='#n33'>33</a>
86 <a id='n34' href='#n34'>34</a>
87 <a id='n35' href='#n35'>35</a>
88 <a id='n36' href='#n36'>36</a>
89 <a id='n37' href='#n37'>37</a>
90 <a id='n38' href='#n38'>38</a>
91 <a id='n39' href='#n39'>39</a>
92 <a id='n40' href='#n40'>40</a>
93 <a id='n41' href='#n41'>41</a>
94 <a id='n42' href='#n42'>42</a>
95 </pre></td>
96 <td class='lines'><pre><code>From 41932dfbc841a1adc6512d41085ea3f8ebecb42c Mon Sep 17 00:00:00 2001
97 From: Keith Packard &lt;keithp&#64;keithp.com&gt;
98 Date: Wed, 8 Apr 2015 07:45:28 -0700
99 Subject: [PATCH] mi: Partial pie-slice filled arcs may need more space for
100 spans
101
102 The mi filled arc code estimates that a filled arc will produce no
103 more spans than the arc is tall. This is true for most arcs except
104 for pie-slice arcs strictly between 180 and 360 degrees where the missing
105 portion of the arc faces up or down such that we get two spans on some
106 scanlines.
107
108 For those, we need to reserve room for another height/2 spans. This
109 patch just does it for all partial pie-sliced arcs to make the test
110 easier to understand; it's just over-allocating a bit of memory, so
111 that's safe.
112
113 Signed-off-by: Keith Packard &lt;keithp&#64;keithp.com&gt;
114 Reviewed-by: Adam Jackson &lt;ajax&#64;redhat.com&gt;
115 <span class="hl kwb">---</span>
116 mi/mifillarc.c | 5 +++++
117 1 file changed, 5 insertions(+)
118
119 diff --git a/mi/mifillarc.c b/mi/mifillarc.c
120 index 246d70f..888519e 100644
121 <span class="hl kwb">--- a/mi/mifillarc.c</span>
122 <span class="hl kwa">+++ b/mi/mifillarc.c</span>
123 &#64;&#64; -660,6 +660,11 &#64;&#64; miPolyFillArc(DrawablePtr pDraw, GCPtr pGC, int narcs_all, xArc * parcs)
124 if (narcs &amp;&amp; nspans + arc-&gt;height &gt; MAX_SPANS_PER_LOOP)
125 break;
126 nspans += arc-&gt;height;
127 <span class="hl kwa">+</span>
128 <span class="hl kwa">+ /* A pie-slice arc may add another pile of spans */</span>
129 <span class="hl kwa">+ if (pGC-&gt;arcMode == ArcPieSlice &amp;&amp;</span>
130 <span class="hl kwa">+ (-FULLCIRCLE &lt; arc-&gt;angle2 &amp;&amp; arc-&gt;angle2 &lt; FULLCIRCLE))</span>
131 <span class="hl kwa">+ nspans += (arc-&gt;height + 1) &gt;&gt; 1;</span>
132 }
133
134 pts = points = malloc (sizeof (DDXPointRec) * nspans +
135 <span class="hl kwb">-- </span>
136 2.3.5
137
138 </code></pre></td></tr></table>
139 </div> <!-- class=content -->
140 <div class="foot" style="padding-left:1em;padding-right:1em;">
141 <p>Copyright &copy; 2002-2014 <a href="mailto:jvinet@zeroflux.org"
142 title="contact Judd Vinet">Judd Vinet</a> and <a href="mailto:aaron@archlinux.org"
143 title="contact Aaron Griffin">Aaron Griffin</a>. The Arch Linux name and logo
144 are recognized trademarks. Some rights reserved. The registered trademark
145 Linux&reg; is used pursuant to a sublicense from LMI, the exclusive licensee
146 of Linus Torvalds, owner of the mark on a world-wide basis.</p>
147 </div>
148 </div> <!-- id=cgit -->
149 </body>
150 </html>