[Bug 81405] [SNB+]Piglit/spec_ARB_shader_texture_lod_execution_tex-miplevel-selection_*ProjGradARB_3D fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Mar 25 00:04:59 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=81405

--- Comment #6 from Iago Toral <itoral at igalia.com> ---
Fixed in piglit with:

commit 181c26495634ba1a5603b4b75c47e2dee7c97c0f
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Wed Mar 11 08:25:24 2015 +0100

    tex-miplevel-selection: Fix textureProj failures due to precision errors

    The textureProj tests multiply expected texture coordinates by the
projector
    in advance so that when the driver does the division we obtain the same
    coordinates. However, the division can lead to small rounding errors that
    can affect the selected layer and fail the tests. This is currently
happening
    on Intel hardware for all projector tests involving 3D textures.

    When we test a 3D texture for texture level 0 we have 32 layers, which
    means that each layer takes 1/32 = 0.03125 space in the [0, 1] texture
    coordinate space. The test uses 0.5 for the Z coordinate, which is exactly
    the boundary between layers 15 and 16 (16 * 0.03125 = 0.5). Because we
    first multiply 0.5 by the projector in CPU and then we divide the
coordinate
    by the driver in the GPU, the result may be subject to rounding/precision
    errors and if the result of this operation is even slighly smaller than 0.5
    the hardware will select layer 15 instead of layer 16, leading to the
    test failures we currently see, at least on Intel hardware, for all piglit
    tests that involve textureProj with 3D textures.

    The patch prevents this rounding from affecting the result of the test by
    using 0.51 as the target texture coordinates instead of 0.5. Because 0.51
    is 0.01 into layer 16, we are giving a small room for rounding/precision
    errors that won't lead the hardware to select a different layer.

    This fixes all projector tests on Intel hardware:
    bin/tex-miplevel-selection *ProjGradARB 3D -fbo -auto
    bin/tex-miplevel-selection *ProjLod 3D -fbo -auto
    bin/tex-miplevel-selection textureProj 3D -fbo -auto
    bin/tex-miplevel-selection textureProjGrad 3D -fbo -auto
    bin/tex-miplevel-selection textureProjGradOffset 3D -fbo -auto
    bin/tex-miplevel-selection textureProjOffset 3D -fbo -auto
    bin/tex-miplevel-selection "textureProj(bias)" 3D -fbo -auto
    bin/tex-miplevel-selection "textureProjOffset(bias)" 3D -fbo -auto

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81405

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20150325/ef671d0c/attachment.html>


More information about the intel-3d-bugs mailing list