System Environment: -------------------------- Arch: i386 Platform: pineview Libdrm: (master)2.4.26-18-gcc088f1721eaa5f8f1ba1932723882f92e34c39a Mesa: (7.11)681f4820ab7339b0ecc4cf656ae1e0adac6ed8f6 Xserver: (server-1.11-branch)xorg-server-1.11.1 Xf86_video_intel: (master)2.16.0-205-ga18f559961135fa288dda3b94207abb0b6d4d302 Kernel: (drm-intel-fixes) cd0de039bff32ee314046c0e4c047c38aa696f84 Bug detailed description: ------------------------- It aborts on pineview, ironlake and sandybridge with belowing error info. glconform: intel_buffer_objects.c:512: intel_bufferobj_unmap: Assertion `obj->Pointer' failed Bisect shows 53a3e743ae91457d2259ef2f6eae9d238a48cf0f is the first bad commit. commit 53a3e743ae91457d2259ef2f6eae9d238a48cf0f Author: Yuanhan Liu <yuanhan.liu@linux.intel.com> AuthorDate: Mon Oct 17 09:57:36 2011 +0800 Commit: Ian Romanick <ian.d.romanick@intel.com> CommitDate: Mon Oct 24 15:54:31 2011 -0700 mesa: generate error if pbo offset is not aligned with the size of specified type v2: quote the spec; explicitly exclude the GL_BITMAP case to make code more readable. (comments from Ian) v3: Cast the offset by GLintptr to remove the compile warning(comments from Brian). I also found that I should use _mesa_sizeof_packed_type() instead, as it includes packed pixel type, like GL_UNSIGNED_SHORT_5_6_5. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 9024d8af0ae832a0b4278eb6683bc0e76c69baac) Reproduce steps: ---------------- 1. start X 2. ./oglconform -z -s -suite all -v 2 -D 115 -test pbo negative.invalidOffsetValue
It passes on mesa master branch.
This should be fixed on the 7.11 branch by the following commit: commit 5459781715f47dcd3f93d84e69ab82245f684660 Author: Yuanhan Liu <yuanhan.liu@linux.intel.com> Date: Wed Nov 2 14:13:45 2011 +0800 intel: don't call unmap pbo if pbo is not mapped The PBO only needs to be unmapped if one of the previous calls to _mesa_validate_pbo_* succeeded. In this case, pixels will be non-NULL. Various paths through _mesa_unmap_texmiage_pbo can hit assertion failures or segfaults if the buffer is not mapped. To work around this, move the call to _mesa_unmap_teximage_pbo inside the last 'if (pixels)' block. NOTE: this is just for 7.11 stable branch Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42268
Verified with mesa(7.11) commit 4464ee1a9aa3745109cee23531e3fb2323234d07.
bug/show.html.tmpl processed on Mar 20, 2017 at 09:48:14. (provided by the Example extension).