Summary: | [i965 gem-classic intel-2008-q3] glean get 11 more failures than mesa_7_2 | ||
---|---|---|---|
Product: | Mesa | Reporter: | Shuang He <shuang.he> |
Component: | Drivers/DRI/i965 | Assignee: | haihao <haihao.xiang> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | high | CC: | eric |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 17802 | ||
Bug Blocks: | 17596 | ||
Attachments: |
xorg conf
patch to fix write_domain and static BOs issue. |
Description
Shuang He
2008-09-25 19:49:11 UTC
Created attachment 19224 [details]
xorg conf
texCube is also affected. Created attachment 19425 [details] patch to fix write_domain and static BOs issue. Hi, Eric When I investigate glean/texCube issue(bug#17705), I notice fake_bufmgr allocates backing store for a non-static BOs, and it copies data from backing store into card memory when invalidating a BO. Sometimes the contents in the card memory allocated for a BO is changed by some operations such as BLT, (for example, use BLT to copy teximage's contents at its level into a mimmap tree). However the backing store isn't updated at the same time, so that the fake_bufmgr will copy stale data from backing store into card memory if this BO is marked as 'dirty' again (for examle: bo_map with writing enabled). It seems some 3D games such as torcs, ut2004 also are impacted by this issue (but #17182). The drm commit 073cb5ee1d12a7f1a18b7d732f346c16eb740f49 tries to fix this issue. However the bo_fake->write_domain is always set to 0 currently, so this issue still exists. Another problem is that currently fences aren't applied to all static BOs. Hence sometimes ReadPixels with a back/front buffer gets stale data. The attached patch tries to fix write_domain and static BO issue, please take a look. With this patch, these glean cases except vertProg1 (it triggers a assertion failure which should be a mesa bug) all pass, and torcs and ut2004 also works fine for me. Thanks Haihao fixed in drm 604759d4a78efcef0abdb40bfc215526cdcf1122 and vertProg1 passes too. verified against drm 1150a42d4398b14c5db2f34a5beba613528df147 |
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.