Mesa (master): glx/drisw: avoid segfaults when we fail to get visual

2012-03-24 Thread Dave Airlie
Module: Mesa
Branch: master
Commit: 2c778375a1356ffb8db1522bc3fc64c568c35cb1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c778375a1356ffb8db1522bc3fc64c568c35cb1

Author: Dave Airlie airl...@redhat.com
Date:   Fri Mar 23 18:37:16 2012 +

glx/drisw: avoid segfaults when we fail to get visual

piglit glx-tfp segfaults on llvmpipe when run vs a 16-bit radeon screen,

it now fails instead of segfaulting, much prettier.

Signed-off-by: Dave Airlie airl...@redhat.com

---

 src/glx/drisw_glx.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index 9cee25e..95d2dcc 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -91,6 +91,9 @@ XCreateDrawable(struct drisw_drawable * pdp,
visMask = VisualIDMask;
pdp-visinfo = XGetVisualInfo(dpy, visMask, visTemp, num_visuals);
 
+   if (!pdp-visinfo || num_visuals == 0)
+  return False;
+
/* create XImage */
pdp-ximage = XCreateImage(dpy,
   pdp-visinfo-visual,
@@ -513,7 +516,7 @@ driswCreateDrawable(struct glx_screen *base, XID xDrawable,
struct drisw_drawable *pdp;
__GLXDRIconfigPrivate *config = (__GLXDRIconfigPrivate *) modes;
struct drisw_screen *psc = (struct drisw_screen *) base;
-
+   Bool ret;
const __DRIswrastExtension *swrast = psc-swrast;
 
pdp = Xmalloc(sizeof(*pdp));
@@ -525,7 +528,11 @@ driswCreateDrawable(struct glx_screen *base, XID xDrawable,
pdp-base.drawable = drawable;
pdp-base.psc = psc-base;
 
-   XCreateDrawable(pdp, psc-base.dpy, xDrawable, modes-visualID);
+   ret = XCreateDrawable(pdp, psc-base.dpy, xDrawable, modes-visualID);
+   if (!ret) {
+  Xfree(pdp);
+  return NULL;
+   }
 
/* Create a new drawable */
pdp-driDrawable =

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (gallium-compute): 29 new commits

2012-03-24 Thread Francisco Jerez
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f8f40b98bd202bfc1c9d12c8743bf2c42c9e76f
Author: Tom Stellard thomas.stell...@amd.com
Date:   Sat Mar 24 12:51:27 2012 +0100

clover: Assorted build fixes.

Contains the following patches squashed in:

commit 9fff1dc0875f7c9591550fa3ebbe1ba7a18483fa
Author: Tom Stellard thomas.stell...@amd.com
Date:   Tue Mar 20 23:20:03 2012 +0100

configure.ac: Build gallium loader when OpenCL is enabled

commit 542111cb02957418c6a285cb6ef2924e49adc66e
Author: Tom Stellard thomas.stell...@amd.com
Date:   Tue Mar 20 23:30:29 2012 +0100

configure.ac: Add sw/null to GALLIUM_WINSYS_DIRS for gallium loader

commit 876f8de46062dde76b6075be3b6628f969b16648
Author: Tom Stellard thomas.stell...@amd.com
Date:   Thu Feb 9 11:26:05 2012 -0500

configure.ac: Require gcc  4.6.0 for clover

commit 99049d50fa3d9a23297ae658189c19c89dca1766
Author: Tom Stellard thomas.stell...@amd.com
Date:   Tue Mar 20 23:32:06 2012 +0100

configure.ac: Require Gallium drm loader when gallium loader is enabled

No longer silently exclude this when building OpenCL drivers
for nouveau and r600.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e06c8553046c0265411d39d3af41b117ca36eaf4
Author: Francisco Jerez curroje...@riseup.net
Date:   Tue Mar 20 23:19:32 2012 +0100

clover: Import OpenCL state tracker.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=37c4200f196304815fc10a380e065f14b324ac53
Author: Francisco Jerez curroje...@riseup.net
Date:   Tue Mar 20 23:41:09 2012 +0100

gallium/tests/trivial: Import compute unit tests.

Add a test program that tries to exercise some of the language
features commonly used by compute programs at the Gallium API level:

   - Correctness of the values returned by the grid parameters.
   - Proper functioning of resource LOADs and STOREs.
   - Subroutine calls.
   - Argument passing to the compute parameter through the INPUT
 memory space.
   - Mapping of buffer objects to the GLOBAL memory space.
   - Proper functioning of the PRIVATE and LOCAL memory spaces.
   - Texture sampling and constant buffers.
   - Support for multiple kernels in the same program.
   - Indirect resource indexing.
   - Formatted resource loads and stores (i.e. with channel conversion
 and scaling) using several different formats.
   - Proper functioning of work-group barriers.
   - Atomicity and semantics of the atomic opcodes.

As of now all of them seem to pass on my nvA8.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c00dd0809e59ccab13f95d4899291dd70f8a8f2b
Author: Francisco Jerez curroje...@riseup.net
Date:   Tue Mar 6 20:29:43 2012 +0100

gallium/gbm: Switch to the winsys loader.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6012b6870646d77198cea5f8dc14f85ed2741b48
Author: Francisco Jerez curroje...@riseup.net
Date:   Tue Mar 20 23:40:36 2012 +0100

gallium/tests/trivial: Switch to the winsys loader.

It simplifies things slightly, and besides, it makes possible to
execute the trivial tests on a hardware device instead of being
limited to software rendering.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7ae97b57378950ca69f5c86779243aa9498ab01
Author: Francisco Jerez curroje...@riseup.net
Date:   Fri Nov 25 14:26:00 2011 +0100

gallium: Add pipe-loader target.

This target generates pipe driver modules intended to be consumed by
the winsys loader.  Most of it was taken from the gbm target -- the
duplicated code will be replaced with references to this target in a
future commit.

URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a85437c4882965fe2b3bddc319ddf89c9c673e47
Author: Francisco Jerez curroje...@riseup.net
Date:   Sat Mar 24 12:50:10 2012 +0100

gallium: Add winsys loader for device enumeration and driver multiplexing.

The goal is to have a uniform interface to create winsys and
pipe_screen instances for any driver, exposing the device enumeration
capabilities that might be supported by the operating system (for now
there's a drm back-end using udev and a sw back-end that always
returns the same built-in devices).

The typical use case of this library will be:

 struct ws_loader_device devs[n];
 struct pipe_screen *screen;

 ws_loader_probe(devs, n);
[pick some device from the array...]

 screen = ws_loader_create_screen(dev, library_search_path);
[do something with screen...]

 screen-destroy(screen);
 ws_loader_release(devs, N);


A part of the code was taken from targets/gbm/pipe_loader.c, which
will be removed and replaced with calls into this library by a future
commit.

URL:

Mesa (master): docs/GL3.txt: document ARB_blend_func_extended state

2012-03-24 Thread Dave Airlie
Module: Mesa
Branch: master
Commit: ea663d56e2000ba02f53cc8a99ded78ccad0a126
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea663d56e2000ba02f53cc8a99ded78ccad0a126

Author: Dave Airlie airl...@redhat.com
Date:   Sat Mar 24 16:34:47 2012 +

docs/GL3.txt: document ARB_blend_func_extended state

I've written softpipe version in my tree, + gallium/mesa/glsl changes,
however r600 currently hangs the GPU.

---

 docs/GL3.txt |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/docs/GL3.txt b/docs/GL3.txt
index f677b76..c0bbf80 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -72,7 +72,7 @@ GLX_ARB_create_context_profileDONE
 GL 3.3:
 
 GLSL 3.30 not started
-GL_ARB_blend_func_extendednot started
+GL_ARB_blend_func_extendedstarted 
(airlied/ARB_blend_func_extended)
 GL_ARB_explicit_attrib_location   DONE (i915, i965, r300, 
r600, swrast)
 GL_ARB_occlusion_query2   DONE (r300, r600, swrast)
 GL_ARB_sampler_objectsDONE (i965, r300, r600)

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit