Mesa (master): glx/drisw: avoid segfaults when we fail to get visual
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
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
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