Bug 17531

Summary: [GM965 GEM] latest libdrm +2d changes break 2d driver
Product: xorg Reporter: Tobias Hain <tobias.hain>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high CC: eric, haien.liu, jiewen.lin, shuang.he
Version: 7.3 (2007.09)Keywords: regression
Hardware: x86 (IA32)   
OS: Linux (All)   
i915 platform: i915 features:
Description Flags
Xorg.0.log with depth buffer invalid argument fail
Xorg.0.log with assertion fail none

Description Tobias Hain 2008-09-11 02:59:20 UTC
Created attachment 18820 [details]
Xorg.0.log with depth buffer invalid argument fail

System : Dell XPS M1330
Chipset: GM965 with 2 * 1GB memory in dual channel configuration
OS : Ubuntu 8.04.1 in 32-Bit

tested with git tip components of 09/11/2008:
libdrm: (master) see below
mesa 3d: (master)35fd72756a05463568d94862f4fcd234903e1204
xserver: (master)2db1afbf2e56d8743c701d81a5797001ce9e5c52
xf86-video-intel: (master) see below
gem kernel (eric's 2.6.27-rc4)cfcc2e3beefb26ecbbb1d018931ea70a3b75f3d7

Latest libdrm and corresponding 2d changes break 2d driver. Depending on the exact checkout the error message in Xorg.0.log changes. The first checkout at that fails is this one:

libdrm: 738e36acbce24df0ccadb499c5cf62ccb74f56df "Move intel libdrm stuff to libdrm_intel.so"
2d: 0b4f7b630312b148ce4e172cb7cd9f673751b2a3 "Track move of bufmgr functions to libdrm_intel."

(EE) intel(0): Failed to pin depth buffer: Invalid argument

This subsequent checkout results in the same error message:

libdrm: 869d8bebedddf2075c59d6bffea8ee640cb80353 "intel: Move IRQ emit/wait from callbacks into the bufmgr."
2d: f367334c6392a717f6cd2f4ed02200be1c6d356a "Track the move of irq emit/wait to fake bufmgr."

Beginning with this checkout the error message changes and is not resolved in subsequent commits:

libdrm: f9d98beefc9e7b8d06a29f5b69a19f10fd3c435f "intel: move drm calls to exec buffers to libdrm_intel."
2d: 58a3817305ef1455a11be6ead8a8521dfc5875c7 "Track move of exec to bufmgr, and restoration of emit/wait funcs for non-drm."

Xorg: intel_bufmgr_gem.c:668: dri_gem_emit_reloc: Assertion `offset <= bo->size -4' failed.
Comment 1 Tobias Hain 2008-09-11 03:00:14 UTC
Created attachment 18821 [details]
Xorg.0.log with assertion fail
Comment 2 Tobias Hain 2008-09-16 05:20:04 UTC
If I built libdrm incremental I run in those kind of problems.

Being on a libdrm commit older than f9d98beefc9e7b8d06a29f5b69a19f10fd3c435f and updating to anything >=f9d9... requires a "make clean" prior to building.

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.