Bug 19146 - [965 OGLC] CopyTexSubImage broken for non-power-of-two textures
Summary: [965 OGLC] CopyTexSubImage broken for non-power-of-two textures
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: All All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks: intel-3d-release
  Show dependency treegraph
 
Reported: 2008-12-17 14:59 UTC by Ian Romanick
Modified: 2014-08-16 21:09 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
piglit NPOT and rectangle test (6.78 KB, patch)
2008-12-17 17:26 UTC, Ian Romanick
Details | Splinter Review

Description Ian Romanick 2008-12-17 14:59:51 UTC
Both the texRect.c and textureNPOT.c conformance tests fail.  Using git-bisect, I discovered that the commit below is the culprit.  All of the changes in that commit appear to be generic, but I have not verified whether or not these test pass (or ever passed) on i915 generation hardware.

I'll see if I can enhance the piglit copytexsubimage test to reproduce similar failures.

commit 3e0164aabb48a99fce58964cad99fd3978ee84f6
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Nov 21 17:09:47 2008 +0800

    i965: Add support for accelerated CopyTexSubImage.
    
    There were hacks in EmitCopyBlit before to adjust offsets so that y=0 after
    the offsets had been adjusted for a negative pitch.  It appears that those
    hacks were due to an unclear and surprising aspect of the hardware: invertin
    the pitch results in the blit into the specified rectangle being inverted,
    without the user needing to adjust y and base offset.
    
    Tested with piglit copytexsubimage test on 915GM and GM965.  Should fix
    serious performance issues with ETQW and other applications.
Comment 1 Ian Romanick 2008-12-17 17:26:39 UTC
Created attachment 21256 [details] [review]
piglit NPOT and rectangle test

This patch enhances the piglit copytexsubimage test to, when available, test texture rectangles and non-power-of-two textures.  The bad news, however, is that the i965 driver passes this test while failing the conformance test.
Comment 2 Eric Anholt 2008-12-18 10:44:37 UTC
The texRect.c also fails for swrast and 915, regardless of whether I revert that commit.
Comment 3 Eric Anholt 2008-12-19 16:14:24 UTC
Comment on attachment 21256 [details] [review]
piglit NPOT and rectangle test

piglit test is in master
Comment 4 Ian Romanick 2009-04-14 18:38:42 UTC
On mesa_7_4_branch this bug appears to have been fixed by:

commit 63ed288396a7f078b88dbd92e201134797cf89eb
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri Mar 27 14:22:47 2009 -0700

    intel: Add extra, stronger flushes around CopyTexSubImage blits

This commit does not exist on master.
Comment 5 Adam Jackson 2009-08-24 12:31:23 UTC
Mass version move, cvs -> git
Comment 6 Shuang He 2009-08-24 19:00:17 UTC
texRect.c passed now with following configuration:
Libdrm 	(master)caad8d85559709301c00760b9e8707d57f8c6c67
Mesa 	(master)7ee4f32dcdd4cc935ed48ffb46ecc6678047958e
Xf86_video_intel 	(master)5dccd1be3ab80b642ef2022446f5bdc1656ed943
Kernel 	(drm-intel-next)819e0064634f580ab618189e657ea58341d214b7 
Comment 7 Shuang He 2009-08-24 19:08:58 UTC
(In reply to comment #6)
> texRect.c passed now with following configuration:
> Libdrm  (master)caad8d85559709301c00760b9e8707d57f8c6c67
> Mesa    (master)7ee4f32dcdd4cc935ed48ffb46ecc6678047958e
> Xf86_video_intel        (master)5dccd1be3ab80b642ef2022446f5bdc1656ed943
> Kernel  (drm-intel-next)819e0064634f580ab618189e657ea58341d214b7 
> 

(In reply to comment #6)
> texRect.c passed now with following configuration:
> Libdrm  (master)caad8d85559709301c00760b9e8707d57f8c6c67
> Mesa    (master)7ee4f32dcdd4cc935ed48ffb46ecc6678047958e
> Xf86_video_intel        (master)5dccd1be3ab80b642ef2022446f5bdc1656ed943
> Kernel  (drm-intel-next)819e0064634f580ab618189e657ea58341d214b7 
> 

but textureNPOT.c still fails
Comment 8 Eric Anholt 2009-12-09 15:07:14 UTC
textureNPOT looks fine now too
Comment 9 Shuang He 2009-12-17 17:43:36 UTC
(In reply to comment #8)
> textureNPOT looks fine now too
> 

I'd reopen it.
It still fails with following configuration on GM45:
Libdrm:		(master)db50f5127421ac8f4e3ce4eb7c27d27475781488
Mesa:		(mesa_7_7_branch)5e6fff7ac4a4e0d06d394391f6e2dd2eb6ff8aee
Xserver:		(server-1.7-branch)aea5ace1ee331fab0b72885ce0d5d3fc235e0708
Xf86_video_intel:		(master)8ecf70ea553083cbc26928dc3973c8f6f8b3d9d0
Kernel:       (master)22763c5cf3690a681551162c15d34d935308c8d7
Comment 10 Eric Anholt 2010-02-06 09:14:50 UTC
I can't reproduce failure with textureNPOT.c.
Comment 11 Shuang He 2010-02-21 00:17:10 UTC
(In reply to comment #10)
> I can't reproduce failure with textureNPOT.c.
> 

it still failed at my side.
Comment 12 Gordon Jin 2010-08-24 00:29:45 UTC
textureNPOT.c still fails on both Piketon (i965) and Pineview (i915).
Comment 13 Eugeni Dodonov 2011-08-23 12:48:23 UTC
Is it still failing with 2011q3 release?
Comment 14 Gordon Jin 2011-08-25 19:43:45 UTC
(In reply to comment #13)
> Is it still failing with 2011q3 release?

Yes, on i965, it still fails with mesa 7.11 branch (more accurately, fail on Ironlake and SNB, but pass on G45). But it passes with mesa master branch now.

On i915 (Pineview), it fails with both 7.11 and master branch.
Comment 15 Kenneth Graunke 2014-08-16 21:09:38 UTC
The test passes on Haswell and Ironlake today.  I haven't tested Pineview, but this is filed as a 965 bug, and no one with access to Intel's oglconform suite is likely to care about fixing Pineview even if it is broken.

So, marking resolved/fixed.


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.