Bug 41216

Summary: [bisected pineview]oglc filtercubemin(basic.sizedRGBA) fails
Product: Mesa Reporter: fangxun <xunx.fang>
Component: Drivers/DRI/i915Assignee: Ian Romanick <idr>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: high CC: brianp, stereotype441
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 42993    

Description fangxun 2011-09-26 03:10:08 UTC
System Environment:
--------------------------
Arch:           i386
Platform:       pineview 
Libdrm:         (master)2.4.26-9-gcfee5218b17a2741e5519ed44091171e01f0dbb2
Mesa:           (master)06ae4a62b1b3c668a5b50661df25d87f8c2679ef
Xserver:
(master)xorg-server-1.11.0-49-g7fb4bef0394a5d09680985d34bce8252b61493cb
Xf86_video_intel: (master)2.16.0-83-g6bbb88af096e054877409a54d0e0a4ccf5ee317e
Kernel_unstable: (drm-intel-next)64a742fac3a22f57303d8f1b7e347350a1c48254

Bug detailed description:
-------------------------
It only happens on pineview. Below are cases failed due to the same commit.
oglc filtercubemin(advanced.legacy_numeric)
oglc filtercubemin(advanced.gl11.unsized)
oglc filtercubemin(advanced.gl11.sized_alpha)
oglc filtercubemin(advanced.gl11.sized_luminance)
oglc filtercubemin(advanced.gl11.sized_luminance_alpha)
oglc filtercubemin(advanced.gl11.sized_intensity)
oglc filtercubemin(advanced.gl11.sized_rgb)
oglc filtercubemin(advanced.compressed.generic)
oglc filtercubemin(advanced.compressed.s3tc)
oglc filtercubemin(advanced.compressed.fxt1)

Bisect find 980f6f1b37ca88529b3e000235156eab93254fac is the first bad commit.
commit 980f6f1b37ca88529b3e000235156eab93254fac
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Sep 21 18:54:53 2011 -0600

    mesa: move gl_texture_image::Width/Height/DepthScale fields to swrast

    These fields were only used for swrast so move them into
    swrast_texture_image.

    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>


Reproduce steps:
----------------
1. start X
2. ./oglconform -z -s -suite all -v 2 -D 115 -test filtercubemin basic.sizedRGBA
Comment 1 Ian Romanick 2012-02-16 15:32:44 UTC
*** Bug 46196 has been marked as a duplicate of this bug. ***
Comment 2 Paul Berry 2012-02-16 23:01:44 UTC
I've sent a patch to the Piglit mailing list which addresses the following failures:

oglc filtercubemin(advanced.gl11.sized_alpha)
oglc filtercubemin(advanced.gl11.sized_luminance_alpha)
oglc filtercubemin(advanced.gl11.sized_intensity)
oglc filtercubemin(advanced.compressed.s3tc)

as well as the piglit test fbo/fbo-cubemap (bug 46196).  I have not investigated the remaining failures.

The patch is:

Author: Paul Berry <stereotype441@gmail.com>
Date:   Thu Feb 16 16:00:45 2012 -0800

    i915: Initialize swrast_texture_image structure fields.
    
    Commit 980f6f1 (mesa: move gl_texture_image::Width/Height/DepthScale
    fields to swrast) moved the initialization of the Width, Height, and
    DepthScale fields to _swrast_alloc_texture_image_buffer().  However,
    i915 doesn't call this function because it performs its own buffer
    allocation.  As a result, the Width, Height, and DepthScale fields
    weren't getting initialized properly, and some operations requiring
    swrast would fail.
    
    This patch ensures that Width, Height, and DepthScale are properly
    initialized by separating the code that sets them into a new function,
    _swrast_init_texture_image(), which is called by
    intel_alloc_texture_image_buffer() as well as
    _swrast_alloc_texture_image_buffer().  It also moves the
    initialization of _IsPowerOfTwo into this function.
Comment 3 fangxun 2012-07-13 08:45:18 UTC
It passes on pineview now.
Comment 4 fangxun 2012-07-13 08:46:08 UTC
Verified with Mesa master commit 33202b4876a88b6f54ca7022eadd2875a2d3508a.

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.