Bug 83908

Summary: [i965] Incorrect icon colors in Steam Big Picture
Product: Mesa Reporter: Cody Northrop <cody>
Component: Drivers/DRI/i965Assignee: Cody Northrop <cody>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: eero.t.tamminen, matthias.a.lee
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 77449    
Attachments: Bad icons in Steam Big Picture mode

Description Cody Northrop 2014-09-15 21:15:42 UTC
Created attachment 106346 [details]
Bad icons in Steam Big Picture mode

During testing of SteamOS, we would sometimes see incorrect icon colors in Steam Big Picture mode.

I was able to capture the behavior in a trace.  I've attached a screenshot of the issue.  I've got a 137MB apitrace file of it, if anyone is interested.

We bisected it to 61e264f4, which changes the internal format of textures, routing glTexImage2D to new code paths.

We debugged it to PBO offsets that are not naturally pixel aligned, which causes the BLT path to drop bits.

I've got a fix to send to the list, and will also submit a piglit test that shows the issue.

I'll update this bug as I send out the patches and tests.

Comment 1 Cody Northrop 2014-09-15 22:11:44 UTC
Test sent to piglit list:
Comment 2 Cody Northrop 2014-09-15 22:15:33 UTC
Patch sent to mesa-dev:
Comment 3 Ian Romanick 2014-12-17 00:05:37 UTC
Just pushed to master.  I don't think Neil realized that Cody didn't have commit access... and then everyone forgot about it.

commit 83e8bb5b1a50c0105b642d559999f07fa64a982f
Author: Cody Northrop <cody@lunarg.com>
Date:   Mon Sep 15 16:14:20 2014 -0600

    i965: Require pixel alignment for GPU copy blit
    The blitter will start at a pixel's natural alignment. For PBOs, if the
    provided offset if not aligned, bits will get dropped.
    This change adds offset alignment check for src and dst, kicking back if
    the requirements are not met.
    The change is based on following verbiage from BSPEC:
     Color pixel sizes supported are 8, 16, and 32 bits per pixel (bpp).
     All pixels are naturally aligned.
    Found in the following locations:
    page 35 of intel-gfx-prm-osrc-hsw-blitter.pdf
    page 29 of ivb_ihd_os_vol1_part4.pdf
    page 29 of snb_ihd_os_vol1_part5.pdf
    This behavior was observed with Steam Big Picture rendering incorrect
    icon colors.  The fix has been tested on Ubuntu and SteamOS on Haswell.
    Signed-off-by: Cody Northrop <cody@lunarg.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83908
    Reviewed-by: Neil Roberts <neil@linux.intel.com>
Comment 4 Chris Wilson 2015-04-11 08:33:30 UTC
*** Bug 89913 has been marked as a duplicate of this bug. ***

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.