| Summary: | SIGSEGV src/mesa/state_tracker/st_cb_blit.c:216 | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | Vinson Lee <vlee> |
| Component: | Mesa core | Assignee: | mesa-dev |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | medium | CC: | anuj.phogat |
| Version: | git | Keywords: | regression |
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
Fixed with commit 56c01d81094795286828ecb83713e043695e905a |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
mesa: 780c2cb42bc7bff9f89a998effb732bdcd72630b (master) Run piglit ARB_ES2_compatiblity FBO blit to missing attachment test on softpipe or llvmpipe. $ ./bin/fbo-missing-attachment-blit es2 to -auto Testing blit from complete buffer to buffer with missing attachment... Segmentation fault (core dumped) (gdb) bt #0 0x00007fb648e442ff in st_BlitFramebuffer (ctx=0x1702c90, srcX0=0, srcY0=0, srcX1=32, srcY1=32, dstX0=0, dstY0=0, dstX1=32, dstY1=32, mask=16640, filter=9728) at src/mesa/state_tracker/st_cb_blit.c:216 #1 0x00007fb648cad257 in _mesa_BlitFramebuffer (srcX0=0, srcY0=0, srcX1=32, srcY1=32, dstX0=0, dstY0=0, dstX1=32, dstY1=32, mask=16640, filter=9728) at src/mesa/main/fbobject.c:3057 #2 0x00007fb64b54db6a in stub_glBlitFramebuffer (srcX0=0, srcY0=0, srcX1=32, srcY1=32, dstX0=0, dstY0=0, dstX1=32, dstY1=32, mask=16640, filter=9728) at piglit/tests/util/generated_dispatch.c:1523 #3 0x0000000000401625 in do_blit_test (use_es2=true, from_missing_to_complete=false) at piglit/tests/spec/arb_es2_compatibility/fbo-missing-attachment-blit.c:160 #4 0x000000000040183e in piglit_init (argc=3, argv=0x7fff202693b8) at piglit/tests/spec/arb_es2_compatibility/fbo-missing-attachment-blit.c:214 #5 0x00007fb64b54a879 in run_test (gl_fw=0x7fb64b813820 <glut_fw>, argc=3, argv=0x7fff202693b8) at piglit/tests/util/piglit-framework-gl/piglit_glut_framework.c:125 #6 0x00007fb64b54898d in piglit_gl_test_run (argc=3, argv=0x7fff202693b8, config=0x7fff202692a0) at piglit/tests/util/piglit-framework-gl.c:127 #7 0x0000000000401286 in main (argc=4, argv=0x7fff202693b8) at piglit/tests/spec/arb_es2_compatibility/fbo-missing-attachment-blit.c:67 (gdb) frame 0 #0 0x00007fb648e442ff in st_BlitFramebuffer (ctx=0x1702c90, srcX0=0, srcY0=0, srcX1=32, srcY1=32, dstX0=0, dstY0=0, dstX1=32, dstY1=32, mask=16640, filter=9728) at src/mesa/state_tracker/st_cb_blit.c:216 216 struct pipe_surface *dstSurf = dstRb->surface; (gdb) info locals srcRb = 0x1758640 dstRb = 0x0 srcSurf = 0x1758990 dstSurf = 0x1702c90 srcAtt = 0x1759060 depthStencil = 1280 st = 0x1749e30 pFilter = 0 readFB = 0x1758e10 drawFB = 0x17589d0 clip = {srcX0 = 0, srcY0 = 0, srcX1 = 32, srcY1 = 32, dstX0 = 0, dstY0 = 0, dstX1 = 32, dstY1 = 32} blit = {dst = {resource = 0x850000001741c70, level = 24128656, box = {x = 0, y = 0, z = 0, width = 32, height = 32, depth = 1}, format = 32767}, src = {resource = 0x2a48d03f1f, level = 539398160, box = { x = 0, y = 0, z = 32694, width = 32, height = 32, depth = 1}, format = 32694}, mask = 15, filter = 0, scissor_enable = 0 '\000', scissor = {minx = 42, miny = 0, maxx = 36928, maxy = 8230}} __FUNCTION__ = "st_BlitFramebuffer" ab36ca061412c49143a5f2af53bee862fbd40351 is the first bad commit commit ab36ca061412c49143a5f2af53bee862fbd40351 Author: Anuj Phogat <anuj.phogat@gmail.com> Date: Tue Dec 11 20:17:47 2012 -0800 mesa: Add error checking in _mesa_BlitFramebuffer() for MRTs This patch adds required error checking in _mesa_BlitFramebuffer() when blitting to multiple color render targets. It also fixes a case when blitting to a framebuffer with renderbuffer/texture attached to GL_COLOR_ATTACHMENT{i} (where i!=0). Earlier it skips color blitting if nothing is found attached to GL_COLOR_ATTACHMENT0. V2: Fixed a case when number of draw buffer attachments are zero. V3: Do compatible_color_datatypes() and compatible_resolve_formats() check for all the draw renderbuffers in fbobject.c. Fix debug code at bottom of _mesa_BlitFramebuffer() to handle MRTs. Combine error checking code for linear blits with other color blit error checking. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> :040000 040000 d7ff03a64bb3af0c2f754bc266ce791fea98cf25 98d5e6ea72f2fcf765cd8241682ab18c8081cc70 M src bisect run success