On 28/05/2014 03:47, Michel Dänzer wrote :
On 28.05.2014 09:55, Axel Davy wrote:
From: Keith Packard <kei...@keithp.com>

Provide the hook to pull textures out of __DRIimage structures and use them as
renderbuffers.

Signed-off-by: Keith Packard <kei...@keithp.com>
This patch breaks a number of piglit tests with DRI2, see the backtrace
below. This fixes it:

diff --git a/src/gallium/state_trackers/dri/drm/dri2.c 
b/src/gallium/state_trackers/dri/drm/dri2.c
index cd9964c..2d93686 100644
--- a/src/gallium/state_trackers/dri/drm/dri2.c
+++ b/src/gallium/state_trackers/dri/drm/dri2.c
@@ -761,7 +761,7 @@ dri2_flush_frontbuffer(struct dri_context *ctx,

     pipe->flush(pipe, NULL, 0);

-   if (image->flushFrontBuffer) {
+   if (image) {
        image->flushFrontBuffer(dri_drawable, dri_drawable->loaderPrivate);
     } else if (loader->flushFrontBuffer) {
        loader->flushFrontBuffer(dri_drawable, dri_drawable->loaderPrivate);



Program received signal SIGSEGV, Segmentation fault.
dri2_flush_frontbuffer (ctx=<optimized out>, drawable=0x6f60e0, statt=<optimized 
out>) at ../../../../../../src/gallium/state_trackers/dri/drm/dri2.c:764
764        if (image->flushFrontBuffer) {
(gdb) bt
#0  dri2_flush_frontbuffer (ctx=<optimized out>, drawable=0x6f60e0, 
statt=<optimized out>) at 
../../../../../../src/gallium/state_trackers/dri/drm/dri2.c:764
#1  0x00007ffff17d6315 in dri_st_framebuffer_flush_front (stctx=<optimized out>, 
stfbi=<optimized out>, statt=<optimized out>)
     at ../../../../../../src/gallium/state_trackers/dri/drm/dri_drawable.c:118
#2  0x00007ffff7aff57e in stub_glFlush () at 
tests/util/generated_dispatch.c:8122
#3  0x0000000000400df2 in piglit_display () at 
tests/spec/gl-1.0/front-invalidate-back.c:99
#4  0x00007ffff7aed319 in process_next_event (x11_fw=0x602010) at 
tests/util/piglit-framework-gl/piglit_x11_framework.c:137
#5  0x00007ffff7aed3bb in enter_event_loop (winsys_fw=0x602010) at 
tests/util/piglit-framework-gl/piglit_x11_framework.c:153
#6  0x00007ffff7aec8a7 in run_test (gl_fw=0x602010, argc=1, 
argv=0x7fffffffe768) at 
tests/util/piglit-framework-gl/piglit_winsys_framework.c:85
#7  0x00007ffff7ae8ff8 in piglit_gl_test_run (argc=1, argv=0x7fffffffe768, 
config=0x7fffffffe630) at tests/util/piglit-framework-gl.c:151
#8  0x0000000000400cc4 in main (argc=1, argv=0x7fffffffe768) at 
tests/spec/gl-1.0/front-invalidate-back.c:48


I agree with the fix.

However the test may be better to be 'image && image->flushFrontBuffer', even if for the moment the field is non-NULL for all the drivers defining __DRIimageLoaderExtension.

Axel Davy
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to