]> git.pld-linux.org Git - packages/Mesa.git/blame - Mesa-git.patch
- reduced selinux patch to only needed part instead of random inserts
[packages/Mesa.git] / Mesa-git.patch
CommitLineData
9caf779f
AM
1diff --git a/docs/devinfo.html b/docs/devinfo.html
2index 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
29diff --git a/docs/news.html b/docs/news.html
30index 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
53diff --git a/docs/relnotes-7.8.2.html b/docs/relnotes-7.8.2.html
54index 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>
172diff --git a/docs/relnotes-7.8.3.html b/docs/relnotes-7.8.3.html
173new file mode 100644
174index 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>
267diff --git a/docs/relnotes-7.9.html b/docs/relnotes-7.9.html
268index 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
290diff --git a/docs/relnotes.html b/docs/relnotes.html
291index 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>
302diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c
303index 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 }
319diff --git a/src/gallium/state_trackers/vega/vg_manager.c b/src/gallium/state_trackers/vega/vg_manager.c
320index 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);
332diff --git a/src/gallium/state_trackers/xorg/xorg_crtc.c b/src/gallium/state_trackers/xorg/xorg_crtc.c
333index 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:
358diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c
359index 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)
442diff --git a/src/gallium/state_trackers/xorg/xorg_tracker.h b/src/gallium/state_trackers/xorg/xorg_tracker.h
443index 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);
454diff --git a/src/gallium/targets/egl/Makefile b/src/gallium/targets/egl/Makefile
455index 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
484diff --git a/src/gallium/targets/xorg-vmwgfx/vmw_ctrl.c b/src/gallium/targets/xorg-vmwgfx/vmw_ctrl.c
485index 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>
496diff --git a/src/gallium/targets/xorg-vmwgfx/vmw_screen.c b/src/gallium/targets/xorg-vmwgfx/vmw_screen.c
497index 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;
508diff --git a/src/mesa/drivers/dri/r200/r200_swtcl.c b/src/mesa/drivers/dri/r200/r200_swtcl.c
509index 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 */
522diff --git a/src/mesa/drivers/dri/r200/r200_tcl.c b/src/mesa/drivers/dri/r200/r200_tcl.c
523index 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]) {
535diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c
536index 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
561diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
562index 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
586diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
587index 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.159597 seconds and 4 git commands to generate.