]> git.pld-linux.org Git - packages/Mesa.git/blob - Mesa-git.patch
- rel 3; branch git fixes
[packages/Mesa.git] / Mesa-git.patch
1 diff --git a/docs/devinfo.html b/docs/devinfo.html
2 index df0e726..2d1c125 100644
3 --- a/docs/devinfo.html
4 +++ b/docs/devinfo.html
5 @@ -145,7 +145,7 @@ Make sure the values in src/mesa/main/version.h are correct.
6  </p>
7  
8  <p>
9 -Update the docs/news.html file and docs/download.html files.
10 +Update docs/news.html.
11  </p>
12  
13  <p>
14 @@ -208,10 +208,11 @@ sftp USERNAME,mesa3d@web.sourceforge.net
15  
16  <p>
17  Make an announcement on the mailing lists:
18 -<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>,
19 -<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>
20 +
21 +<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>,
22 +<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>
23  and
24 -<em>m</em><em>e</em><em>s</em><em>a</em><em>3</em><em>d</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>s</em><em>f</em><em>.</em><em>n</em><em>e</em><em>t</em>
25 +<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>
26  </p>
27  
28  
29 diff --git a/docs/news.html b/docs/news.html
30 index b3fb8b5..72d38ee 100644
31 --- a/docs/news.html
32 +++ b/docs/news.html
33 @@ -11,10 +11,18 @@
34  <H1>News</H1>
35  
36  
37 +<h2>October 4, 2010</h2>
38 +
39 +<p>
40 +<a href="relnotes-7.9.html">Mesa 7.9</a> (final) is released.  This is a new
41 +development release.
42 +</p>
43 +
44 +
45  <h2>September 27, 2010</h2>
46  
47  <p>
48 -<a href="relnotes-7.9.0.html">Mesa 7.9.0-rc1</a> is released.  This is a
49 +<a href="relnotes-7.9.html">Mesa 7.9.0-rc1</a> is released.  This is a
50  release candidate for the 7.9 development release.
51  </p>
52  
53 diff --git a/docs/relnotes-7.8.2.html b/docs/relnotes-7.8.2.html
54 index e1b0f2d..1393b2e 100644
55 --- a/docs/relnotes-7.8.2.html
56 +++ b/docs/relnotes-7.8.2.html
57 @@ -26,7 +26,15 @@ for DRI hardware acceleration.
58  
59  <h2>MD5 checksums</h2>
60  <pre>
61 -tbd
62 +c89b63d253605ed40e8ac370d25a833c  MesaLib-7.8.2.tar.gz
63 +6be2d343a0089bfd395ce02aaf8adb57  MesaLib-7.8.2.tar.bz2
64 +a04ad3b06ac5ff3969a003fa7bbf7d5b  MesaLib-7.8.2.zip
65 +7c213f92efeb471f0331670d5079d4c0  MesaDemos-7.8.2.tar.gz
66 +757d9e2e06f48b1a52848be9b0307ced  MesaDemos-7.8.2.tar.bz2
67 +8d0e5cfe68b8ebf90265d350ae2c48b1  MesaDemos-7.8.2.zip
68 +b74482e3f44f35ed395c4aada4fd8240  MesaGLUT-7.8.2.tar.gz
69 +a471807b65e49c325808ba4551be93ed  MesaGLUT-7.8.2.tar.bz2
70 +9f190268c42be582ef66e47365ee61e3  MesaGLUT-7.8.2.zip
71  </pre>
72  
73  
74 @@ -44,10 +52,95 @@ tbd
75  <ul>
76  <li>Fixed Gallium glDrawPixels(GL_DEPTH_COMPONENT).
77  <li>Fixed Gallium Cell driver to buildable, runable state
78 +<li>Fixed bad error checking for glFramebufferRenderbuffer(attachment=GL_DEPTH_STENCIL_ATTACHMENT).
79 +<li>Fixed incorrect Z coordinate handling in "meta" glDraw/CopyPixels.
80 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">Bug
81 +    #23670</a>.</li>
82 +
83 +<li>Assorted i965 driver fixes.
84 +    Including but not limited to:
85 +  <ul>
86 +    <li>Fix scissoring when width or height is
87 +    0.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27643">Bug
88 +    #27643</a>.
89 +    <li>Fix bit allocation for number of color regions for
90 +    ARB_draw_buffers.</li>
91 +    <li>Set the correct provoking vertex for clipped first-mode
92 +    trifans.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24470">Bug
93 +    #24470</a>.</li>
94 +    <li>Use <code>R16G16B16A16_FLOAT</code> for 3-component half-float.</li>
95 +    <li>Fix assertion for surface tile offset usage on Ironlake.</li>
96 +    <li>Fix cube map layouts on Ironlake.</li>
97 +    <li>When an RB gets a new region, clear the old from the state
98 +    cache.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24119">Bug
99 +    #24119</a>.</li>
100 +    <li>Reject shaders with uninlined function calls instead of hanging.</li>
101 +  </ul>
102 +</li>
103 +
104 +<li>Assorted i915 driver fixes.  Including but not limited to:
105 +  <ul>
106 +    <li>Fixed texture LOD clamping in i915 driver.
107 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24846">Bug
108 +    #24846</a>.</li>
109 +    <li>Fix off-by-one for drawing rectangle.
110 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27408">Bug
111 +    #27408</a>.</li>
112 +  </ul>
113 +</li>
114 +
115 +<li>Fixed hangs in etracer on 830 and 845
116 +    chipsets.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=26557">Bug
117 +    #26557</a>.</li>
118 +<li>Fixed tiling of small textures on all Intel drivers.</li>
119 +<li>Fixed crash in Savage driver when using <code>_mesa_CopyTexImage2D</code>.
120 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27652">Bug
121 +    #27652</a>.</li>
122 +
123 +<li>Assorted GLX fixes.  Including but not limited to:
124 +  <ul>
125 +    <li>Fixed <code>__glXInitializeVisualConfigFromTags</code>'s handling of
126 +        unrecognized fbconfig tags.</li>
127 +    <li>Fixed regression with <code>GLX_USE_GL</code>.
128 +    <li>Fixed config chooser logic for 'mask' matching.</li>
129 +    <li>Report swap events correctly in direct rendered case (DRI2)</li>
130 +    <li>Fixed build with dri2proto which doesn't define
131 +        <code>X_DRI2SwapInterval</code>.</li>
132 +    <li>Get <code>GLX_SCREEN</code> first in <code>__glXQueryContextInfo</code>.
133 +        <a href="https://bugs.freedesktop.org/show_bug.cgi?id=14245">Bug
134 +       #14245</a>.</li>
135 +  </ul>
136 +</li>
137 +
138 +<li>Assorted GLSL fixes.  Including but not limited to:
139 +  <ul>
140 +    <li>Change variable declared assertion into conditional in GLSL
141 +        compiler.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27921">Bug
142 +        #27921</a>.</li>
143 +    <li>Fix instruction indexing
144 +        bugs.  <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27566">Bug
145 +        #27566</a>.</li>
146 +    <li>Updated uniform location / offset encoding to be more like
147 +        other implementations.</li>
148 +    <li>Don't overwrite a driver's shader infolog with generic failure
149 +        message.</li>
150 +  </ul>
151 +</li>
152 +
153 +<li>Fixed OSMesa build for 16 and 32-bit color channel depth.
154 +<li>Fixed OSMesa build with hidden symbol visibility. libOSMesa no longer links to libGL.
155 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28305">Bug
156 +    #28305</a>.
157 +<li>Fixed handling of multiple render targets in fixed-function
158 +    texture envrionmnent programs.</li>
159 +<li>Fixed conversion errors in <code>signed_rgba8888[rev]</code> texel
160 +    fetch.</li>
161 +<li>Don't set srcLevel on <code>GL_TEXTURE_RECTANGLE_ARB</code> targets.</li>
162 +<li>Various build fixes for OpenBSD.</li>
163 +<li>Various build fixes for OS X.</li>
164 +<li>Various build fixes for GCC 3.3.</li>
165  </ul>
166  
167  
168 -<h2>Changes</h2>
169 -<p>None.</p>
170  </body>
171  </html>
172 diff --git a/docs/relnotes-7.8.3.html b/docs/relnotes-7.8.3.html
173 new file mode 100644
174 index 0000000..1e9f433
175 --- /dev/null
176 +++ b/docs/relnotes-7.8.3.html
177 @@ -0,0 +1,89 @@
178 +<HTML>
179 +
180 +<TITLE>Mesa Release Notes</TITLE>
181 +
182 +<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
183 +
184 +<BODY>
185 +
186 +<body bgcolor="#eeeeee">
187 +
188 +<H1>Mesa 7.8.3 Release Notes / (date tbd)</H1>
189 +
190 +<p>
191 +Mesa 7.8.3 is a bug fix release which fixes bugs found since the 7.8.2 release.
192 +</p>
193 +<p>
194 +Mesa 7.8.3 implements the OpenGL 2.1 API, but the version reported by
195 +glGetString(GL_VERSION) depends on the particular driver being used.
196 +Some drivers don't support all the features required in OpenGL 2.1.
197 +</p>
198 +<p>
199 +See the <a href="install.html">Compiling/Installing page</a> for prerequisites
200 +for DRI hardware acceleration.
201 +</p>
202 +
203 +
204 +<h2>MD5 checksums</h2>
205 +<pre>
206 +x  MesaLib-7.8.3.tar.gz
207 +x  MesaLib-7.8.3.tar.bz2
208 +x  MesaLib-7.8.3.zip
209 +x  MesaDemos-7.8.3.tar.gz
210 +x  MesaDemos-7.8.3.tar.bz2
211 +x  MesaDemos-7.8.3.zip
212 +x  MesaGLUT-7.8.3.tar.gz
213 +x  MesaGLUT-7.8.3.tar.bz2
214 +x  MesaGLUT-7.8.3.zip
215 +</pre>
216 +
217 +
218 +<h2>New features</h2>
219 +<p>None.</p>
220 +
221 +
222 +<h2>Changes</h2>
223 +<ul>
224 +<li>The radeon driver should use less memory when searching for a valid mip
225 +image.</li>
226 +</ul>
227 +
228 +
229 +<h2>Bug fixes</h2>
230 +<ul>
231 +<li>Fix unsupported FB with D24S8 (bug 
232 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=23670">29116</a>)</li>
233 +<li>Fix ReadPixels crash when reading depth/stencil from an FBO</li>
234 +<li>Fixed a bug rendering to 16-bit buffers using swrast.</li>
235 +<li>Fixed a state tracker/TGSI bug that caused crashes when using Windows'
236 +    memory debugging features.</li>
237 +<li>Fixed an issue rendering to 32-bit channels with swrast (bug
238 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29487">29487</a>)</li>
239 +<li>GLSL: fix indirect <TT>gl_TextureMatrix</TT> addressing (bug
240 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28967">28967</a>)</li>
241 +<li>GLSL: fix for bug
242 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=27216">27216</a></li>
243 +<li>GLSL: fix zw fragcoord entries in some cases (bug
244 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=29183">29183</a>)</li>
245 +<li>Fix texture env generation in some cases (bug
246 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28169">28169</a>)</li>
247 +<li>osmesa: a fix for calling <TT>OSMesaMakeCurrent</TT> twice was applied (bug 
248 +    <a href="https://bugs.freedesktop.org/show_bug.cgi?id=10966">10966</a></li>
249 +<li>A bug was fixed which could cause Mesa to ignore the
250 +    <TT>MESA_EXTENSION_OVERRIDE</TT> environment variable.</li>
251 +<li>A bug related to specular highlights on backfaces was fixed.</li>
252 +<li>A radeon-specific issue with <TT>glCopyTex(Sub)Image</TT> was
253 +    corrected.</li>
254 +<li>radeon/wine: flush command stream in more cases, fixing wine d3d9
255 +    tests.</li>
256 +<li>r600: fix sin+cos normalization.</li>
257 +<li>r600: (properly) ignore <TT>GL_COORD_REPLACE</TT> when point sprites are
258 +    disabled.</li>
259 +<li>radeon: avoid flushing when the context is not current.</li>
260 +<li>r300c: a bug affecting unaligned BOs was fixed.</li>
261 +<li>r300c: a hardlock caused by ARB_half_float_vertex incorrectly advertised on some chipsets.</li>
262 +</ul>
263 +
264 +
265 +</body>
266 +</html>
267 diff --git a/docs/relnotes-7.9.html b/docs/relnotes-7.9.html
268 index b09fb1d..fe1fd5e 100644
269 --- a/docs/relnotes-7.9.html
270 +++ b/docs/relnotes-7.9.html
271 @@ -28,12 +28,12 @@ for DRI hardware acceleration.
272  
273  <h2>MD5 checksums</h2>
274  <pre>
275 -f1f01a7baec255f13e9468fb4b05922a  MesaLib-7.9-rc1.tar.gz
276 -7ffbda3b7056c60b8f87e3082d853af1  MesaLib-7.9-rc1.tar.bz2
277 -9d4650df4e5b530178d6fde840f76664  MesaLib-7.9-rc1.zip
278 -a81c2e7a0c7832e67c768d6f209f2c8f  MesaGLUT-7.9-rc1.tar.gz
279 -b4c1c2f0b47a07be10fa2dd42e6a63d7  MesaGLUT-7.9-rc1.tar.bz2
280 -c9dd7419a19bcb24a1fe556ec2e78451  MesaGLUT-7.9-rc1.zip
281 +ed65ab425b25895c7f473d0a5e6e64f8  MesaLib-7.9.tar.gz
282 +82c740c49d572baa6da2b1a1eee90bca  MesaLib-7.9.tar.bz2
283 +cd2b6ecec759b0457475e94bbb38fedb  MesaLib-7.9.zip
284 +7b54af9fb9b1f6a1a65db2520f50848f  MesaGLUT-7.9.tar.gz
285 +20d07419d1929f833fdb36bced290ad5  MesaGLUT-7.9.tar.bz2
286 +62a7edecd7c92675cd6029b05217eb0a  MesaGLUT-7.9.zip
287  </pre>
288  
289  
290 diff --git a/docs/relnotes.html b/docs/relnotes.html
291 index 47e7f80..4487af9 100644
292 --- a/docs/relnotes.html
293 +++ b/docs/relnotes.html
294 @@ -14,6 +14,7 @@ The release notes summarize what's new or changed in each Mesa release.
295  
296  <UL>
297  <LI><A HREF="relnotes-7.9.html">7.9 release notes</A>
298 +<LI><A HREF="relnotes-7.8.3.html">7.8.3 release notes</A>
299  <LI><A HREF="relnotes-7.8.2.html">7.8.2 release notes</A>
300  <LI><A HREF="relnotes-7.8.1.html">7.8.1 release notes</A>
301  <LI><A HREF="relnotes-7.8.html">7.8 release notes</A>
302 diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
303 index c0164da..3bde397 100644
304 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c
305 +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
306 @@ -609,8 +609,10 @@ egl_g3d_wait_client(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx)
307  
308     gctx->stctxi->flush(gctx->stctxi,
309           PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, &fence);
310 -   screen->fence_finish(screen, fence, 0);
311 -   screen->fence_reference(screen, &fence, NULL);
312 +   if (fence) {
313 +      screen->fence_finish(screen, fence, 0);
314 +      screen->fence_reference(screen, &fence, NULL);
315 +   }
316  
317     return EGL_TRUE;
318  }
319 diff --git a/src/gallium/state_trackers/vega/vg_manager.c b/src/gallium/state_trackers/vega/vg_manager.c
320 index e799674..232deef 100644
321 --- a/src/gallium/state_trackers/vega/vg_manager.c
322 +++ b/src/gallium/state_trackers/vega/vg_manager.c
323 @@ -352,7 +352,7 @@ vg_api_create_context(struct st_api *stapi, struct st_manager *smapi,
324        return NULL;
325  
326     /* only 1.0 is supported */
327 -   if (attribs->major != 1 || attribs->minor > 0)
328 +   if (attribs->major > 1 || (attribs->major == 1 && attribs->minor > 0))
329        return NULL;
330  
331     pipe = smapi->screen->context_create(smapi->screen, NULL);
332 diff --git a/src/gallium/state_trackers/xorg/xorg_crtc.c b/src/gallium/state_trackers/xorg/xorg_crtc.c
333 index 26a907f..c65da71 100644
334 --- a/src/gallium/state_trackers/xorg/xorg_crtc.c
335 +++ b/src/gallium/state_trackers/xorg/xorg_crtc.c
336 @@ -234,6 +234,10 @@ crtc_load_cursor_argb_ga3d(xf86CrtcPtr crtc, CARD32 * image)
337                    64, 64, (void*)image, 64 * 4, 0, 0);
338      ms->ctx->transfer_unmap(ms->ctx, transfer);
339      ms->ctx->transfer_destroy(ms->ctx, transfer);
340 +
341 +    if (crtc->cursor_shown)
342 +       drmModeSetCursor(ms->fd, crtcp->drm_crtc->crtc_id,
343 +                        crtcp->cursor_handle, 64, 64);
344  }
345  
346  #if HAVE_LIBKMS
347 @@ -271,6 +275,10 @@ crtc_load_cursor_argb_kms(xf86CrtcPtr crtc, CARD32 * image)
348      memcpy(ptr, image, 64*64*4);
349      kms_bo_unmap(crtcp->cursor_bo);
350  
351 +    if (crtc->cursor_shown)
352 +       drmModeSetCursor(ms->fd, crtcp->drm_crtc->crtc_id,
353 +                        crtcp->cursor_handle, 64, 64);
354 +
355      return;
356  
357  err_bo_destroy:
358 diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c
359 index e10ff2f..3a5db98 100644
360 --- a/src/gallium/state_trackers/xorg/xorg_driver.c
361 +++ b/src/gallium/state_trackers/xorg/xorg_driver.c
362 @@ -369,6 +369,7 @@ drv_pre_init(ScrnInfoPtr pScrn, int flags)
363      ms = modesettingPTR(pScrn);
364      ms->pEnt = pEnt;
365      ms->cust = cust;
366 +    ms->fb_id = -1;
367  
368      pScrn->displayWidth = 640;        /* default it */
369  
370 @@ -402,19 +403,6 @@ drv_pre_init(ScrnInfoPtr pScrn, int flags)
371      if (!drv_init_drm(pScrn))
372         return FALSE;
373  
374 -    use3D = cust ? !cust->no_3d : TRUE;
375 -    ms->from_3D = xf86GetOptValBool(ms->Options, OPTION_3D_ACCEL,
376 -                                   &use3D) ?
377 -       X_CONFIG : X_PROBED;
378 -
379 -    ms->no3D = !use3D;
380 -
381 -    if (!drv_init_resource_management(pScrn)) {
382 -       xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Could not init "
383 -                                              "Gallium3D or libKMS.");
384 -       return FALSE;
385 -    }
386 -
387      pScrn->monitor = pScrn->confScreen->monitor;
388      pScrn->progClock = TRUE;
389      pScrn->rgbBits = 8;
390 @@ -449,6 +437,19 @@ drv_pre_init(ScrnInfoPtr pScrn, int flags)
391      memcpy(ms->Options, drv_options, sizeof(drv_options));
392      xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, ms->Options);
393  
394 +    use3D = cust ? !cust->no_3d : TRUE;
395 +    ms->from_3D = xf86GetOptValBool(ms->Options, OPTION_3D_ACCEL,
396 +                                   &use3D) ?
397 +       X_CONFIG : X_PROBED;
398 +
399 +    ms->no3D = !use3D;
400 +
401 +    if (!drv_init_resource_management(pScrn)) {
402 +       xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Could not init "
403 +                                              "Gallium3D or libKMS.");
404 +       return FALSE;
405 +    }
406 +
407      /* Allocate an xf86CrtcConfig */
408      xf86CrtcConfigInit(pScrn, &crtc_config_funcs);
409      xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
410 @@ -791,7 +792,9 @@ drv_screen_init(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
411      if (!ms->SWCursor)
412         xf86_cursors_init(pScreen, 64, 64,
413                           HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_64 |
414 -                         HARDWARE_CURSOR_ARGB);
415 +                         HARDWARE_CURSOR_ARGB |
416 +                         ((cust && cust->unhidden_hw_cursor_update) ?
417 +                          HARDWARE_CURSOR_UPDATE_UNHIDDEN : 0));
418  
419      /* Must force it before EnterVT, so we are in control of VT and
420       * later memory should be bound when allocating, e.g rotate_mem */
421 @@ -862,8 +865,10 @@ drv_leave_vt(int scrnIndex, int flags)
422         }
423      }
424  
425 -    drmModeRmFB(ms->fd, ms->fb_id);
426 -    ms->fb_id = -1;
427 +    if (ms->fb_id != -1) {
428 +       drmModeRmFB(ms->fd, ms->fb_id);
429 +       ms->fb_id = -1;
430 +    }
431  
432      /* idle hardware */
433      if (!ms->kms)
434 @@ -944,7 +949,6 @@ drv_close_screen(int scrnIndex, ScreenPtr pScreen)
435      }
436  #endif
437  
438 -    drmModeRmFB(ms->fd, ms->fb_id);
439      ms->destroy_front_buffer(pScrn);
440  
441      if (ms->exa)
442 diff --git a/src/gallium/state_trackers/xorg/xorg_tracker.h b/src/gallium/state_trackers/xorg/xorg_tracker.h
443 index be1a9fd..a3fb5e5 100644
444 --- a/src/gallium/state_trackers/xorg/xorg_tracker.h
445 +++ b/src/gallium/state_trackers/xorg/xorg_tracker.h
446 @@ -76,6 +76,7 @@ typedef struct _CustomizerRec
447      Bool dirty_throttling;
448      Bool swap_throttling;
449      Bool no_3d;
450 +    Bool unhidden_hw_cursor_update;
451      Bool (*winsys_pre_init) (struct _CustomizerRec *cust, int fd);
452      Bool (*winsys_screen_init)(struct _CustomizerRec *cust);
453      Bool (*winsys_screen_close)(struct _CustomizerRec *cust);
454 diff --git a/src/gallium/targets/egl/Makefile b/src/gallium/targets/egl/Makefile
455 index 47c24ce..38e60db 100644
456 --- a/src/gallium/targets/egl/Makefile
457 +++ b/src/gallium/targets/egl/Makefile
458 @@ -24,7 +24,9 @@ common_CPPFLAGS := \
459         -I$(TOP)/src/gallium/auxiliary \
460         -I$(TOP)/src/gallium/drivers \
461         -I$(TOP)/src/gallium/include \
462 -       -I$(TOP)/src/gallium/winsys
463 +       -I$(TOP)/src/gallium/winsys \
464 +       $(LIBDRM_CFLAGS)
465 +
466  common_SYS :=
467  common_LIBS := \
468         $(TOP)/src/gallium/drivers/identity/libidentity.a \
469 @@ -41,11 +43,11 @@ egl_SYS := -lm $(DLOPEN_LIBS) -L$(TOP)/$(LIB_DIR) -lEGL
470  egl_LIBS := $(TOP)/src/gallium/state_trackers/egl/libegl.a
471  
472  ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
473 -egl_SYS += -lX11 -lXext -lXfixes
474 +egl_SYS += -lX11 -lXext -lXfixes $(LIBDRM_LIB)
475  egl_LIBS += $(TOP)/src/gallium/winsys/sw/xlib/libws_xlib.a
476  endif
477 -ifneq ($(findstring kms, $(EGL_PLATFORMS)),)
478 -egl_SYS += -ldrm
479 +ifneq ($(findstring drm, $(EGL_PLATFORMS)),)
480 +egl_SYS += $(LIBDRM_LIB)
481  endif
482  ifneq ($(findstring fbdev, $(EGL_PLATFORMS)),)
483  egl_LIBS += $(TOP)/src/gallium/winsys/sw/fbdev/libfbdev.a
484 diff --git a/src/gallium/targets/xorg-vmwgfx/vmw_ctrl.c b/src/gallium/targets/xorg-vmwgfx/vmw_ctrl.c
485 index 237b308..9c075b5 100644
486 --- a/src/gallium/targets/xorg-vmwgfx/vmw_ctrl.c
487 +++ b/src/gallium/targets/xorg-vmwgfx/vmw_ctrl.c
488 @@ -32,6 +32,7 @@
489   *      allows X clients to communicate with the driver.
490   */
491  
492 +#include <xorg-server.h>
493  #include "dixstruct.h"
494  #include "extnsionst.h"
495  #include <X11/X.h>
496 diff --git a/src/gallium/targets/xorg-vmwgfx/vmw_screen.c b/src/gallium/targets/xorg-vmwgfx/vmw_screen.c
497 index 8173908..7662203 100644
498 --- a/src/gallium/targets/xorg-vmwgfx/vmw_screen.c
499 +++ b/src/gallium/targets/xorg-vmwgfx/vmw_screen.c
500 @@ -245,6 +245,7 @@ vmw_screen_pre_init(ScrnInfoPtr pScrn, int flags)
501      cust->winsys_enter_vt = vmw_screen_enter_vt;
502      cust->winsys_leave_vt = vmw_screen_leave_vt;
503      cust->no_3d = TRUE;
504 +    cust->unhidden_hw_cursor_update = TRUE;
505      vmw->pScrn = pScrn;
506  
507      pScrn->driverPrivate = cust;
508 diff --git a/src/mesa/drivers/dri/r200/r200_swtcl.c b/src/mesa/drivers/dri/r200/r200_swtcl.c
509 index dbf4ad4..effe6fb 100644
510 --- a/src/mesa/drivers/dri/r200/r200_swtcl.c
511 +++ b/src/mesa/drivers/dri/r200/r200_swtcl.c
512 @@ -613,6 +613,9 @@ static void r200RasterPrimitive( GLcontext *ctx, GLuint hwprim )
513     r200ContextPtr rmesa = R200_CONTEXT(ctx);
514  
515     radeon_prepare_render(&rmesa->radeon);
516 +   if (rmesa->radeon.NewGLState)
517 +      r200ValidateState( ctx );
518 +
519  
520     if (rmesa->radeon.swtcl.hw_primitive != hwprim) {
521        /* need to disable perspective-correct texturing for point sprites */
522 diff --git a/src/mesa/drivers/dri/r200/r200_tcl.c b/src/mesa/drivers/dri/r200/r200_tcl.c
523 index 4ae0f30..ba54177 100644
524 --- a/src/mesa/drivers/dri/r200/r200_tcl.c
525 +++ b/src/mesa/drivers/dri/r200/r200_tcl.c
526 @@ -265,6 +265,8 @@ void r200TclPrimitive( GLcontext *ctx,
527     GLuint newprim = hw_prim | R200_VF_TCL_OUTPUT_VTX_ENABLE;
528  
529     radeon_prepare_render(&rmesa->radeon);
530 +   if (rmesa->radeon.NewGLState)
531 +      r200ValidateState( ctx );
532  
533     if (newprim != rmesa->tcl.hw_primitive ||
534         !discrete_prim[hw_prim&0xf]) {
535 diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c
536 index 85e4988..8804b9c 100644
537 --- a/src/mesa/drivers/dri/radeon/radeon_common_context.c
538 +++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c
539 @@ -521,6 +521,7 @@ void radeon_prepare_render(radeonContextPtr radeon)
540      __DRIcontext *driContext = radeon->dri.context;
541      __DRIdrawable *drawable;
542      __DRIscreen *screen;
543 +    struct radeon_framebuffer *draw;
544  
545      screen = driContext->driScreenPriv;
546      if (!screen->dri2.loader)
547 @@ -531,9 +532,10 @@ void radeon_prepare_render(radeonContextPtr radeon)
548         if (drawable->lastStamp != drawable->dri2.stamp)
549             radeon_update_renderbuffers(driContext, drawable, GL_FALSE);
550  
551 -       /* Intel driver does the equivalent of this, no clue if it is needed:
552 -        * radeon_draw_buffer(radeon->glCtx, &(drawable->driverPrivate)->base);
553 -        */
554 +       /* Intel driver does the equivalent of this, no clue if it is needed:*/
555 +       draw = drawable->driverPrivate;
556 +       radeon_draw_buffer(radeon->glCtx, &draw->base);
557 +
558         driContext->dri2.draw_stamp = drawable->dri2.stamp;
559      }
560  
561 diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
562 index 66e32b4..cd418a0 100644
563 --- a/src/mesa/state_tracker/st_manager.c
564 +++ b/src/mesa/state_tracker/st_manager.c
565 @@ -486,9 +486,18 @@ st_context_notify_invalid_framebuffer(struct st_context_iface *stctxi,
566     stfb = st_ws_framebuffer(st->ctx->WinSysDrawBuffer);
567     if (!stfb || stfb->iface != stfbi)
568        stfb = st_ws_framebuffer(st->ctx->WinSysReadBuffer);
569 -   assert(stfb && stfb->iface == stfbi);
570  
571 -   p_atomic_set(&stfb->revalidate, TRUE);
572 +   if (stfb && stfb->iface == stfbi) {
573 +      p_atomic_set(&stfb->revalidate, TRUE);
574 +   }
575 +   else {
576 +      /* This function is probably getting called when we've detected a
577 +       * change in a window's size but the currently bound context is
578 +       * not bound to that window.
579 +       * If the st_framebuffer_iface structure had a pointer to the
580 +       * corresponding st_framebuffer we'd be able to handle this.
581 +       */
582 +   }
583  }
584  
585  static void
586 diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
587 index 3fc554c..198f0e2 100644
588 --- a/src/mesa/swrast/s_texfilter.c
589 +++ b/src/mesa/swrast/s_texfilter.c
590 @@ -2972,11 +2972,16 @@ choose_depth_texture_level(const struct gl_texture_object *tObj, GLfloat lambda)
591  {
592     GLint level;
593  
594 -   lambda = CLAMP(lambda, tObj->MinLod, tObj->MaxLod);
595 -
596 -   level = (GLint) lambda;
597 -
598 -   level = CLAMP(level, tObj->BaseLevel, tObj->_MaxLevel);
599 +   if (tObj->MinFilter == GL_NEAREST || tObj->MinFilter == GL_LINEAR) {
600 +      /* no mipmapping - use base level */
601 +      level = tObj->BaseLevel;
602 +   }
603 +   else {
604 +      /* choose mipmap level */
605 +      lambda = CLAMP(lambda, tObj->MinLod, tObj->MaxLod);
606 +      level = (GLint) lambda;
607 +      level = CLAMP(level, tObj->BaseLevel, tObj->_MaxLevel);
608 +   }
609  
610     return level;
611  }
This page took 0.089295 seconds and 3 git commands to generate.