Bug 68409

Summary: [llvmpipe] piglit texwrap GL_ARB_texture_rg-int bordercolor regression
Product: Mesa Reporter: Vinson Lee <vlee>
Component: OtherAssignee: Roland Scheidegger <sroland>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: jfonseca, sroland
Version: gitKeywords: regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2013-08-22 01:31:10 UTC
mesa: 63ac68bae398884b3b704eccf58a8a9fe8aac9e6

$ ./bin/texwrap GL_ARB_texture_rg-int bordercolor -auto
Testing GL_ARB_texture_rg-int.
Testing the border color only.
Testing GL_R8I, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 24 0 0 2
  Observed: 0 0 0 2
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 24 0 0 2
  Observed: 0 0 0 2
PIGLIT:subtest {'GL_R8I, border color only' : 'fail'}
Testing GL_RG8I, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 24 228 0 2
  Observed: 0 0 0 2
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 24 228 0 2
  Observed: 0 0 0 2
PIGLIT:subtest {'GL_RG8I, border color only' : 'fail'}
Testing GL_R16I, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 0 0 0
  Observed: 0 0 0 0
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 0 0 0
  Observed: 0 0 0 0
PIGLIT:subtest {'GL_R16I, border color only' : 'fail'}
Testing GL_RG16I, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 229 0 0
  Observed: 0 0 0 0
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 229 0 0
  Observed: 0 0 0 0
PIGLIT:subtest {'GL_RG16I, border color only' : 'fail'}
Testing GL_R32I, border color only
PIGLIT:subtest {'GL_R32I, border color only' : 'pass'}
Testing GL_RG32I, border color only
PIGLIT:subtest {'GL_RG32I, border color only' : 'pass'}
Testing GL_R8UI, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 0 0 1
  Observed: 1 0 0 1
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 0 0 1
  Observed: 1 0 0 1
PIGLIT:subtest {'GL_R8UI, border color only' : 'fail'}
Testing GL_RG8UI, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 229 0 1
  Observed: 1 1 0 1
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 229 0 1
  Observed: 1 1 0 1
PIGLIT:subtest {'GL_RG8UI, border color only' : 'fail'}
Testing GL_R16UI, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 0 0 0
  Observed: 0 0 0 0
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 0 0 0
  Observed: 0 0 0 0
PIGLIT:subtest {'GL_R16UI, border color only' : 'fail'}
Testing GL_RG16UI, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 229 0 0
  Observed: 0 0 0 0
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 229 0 0
  Observed: 0 0 0 0
PIGLIT:subtest {'GL_RG16UI, border color only' : 'fail'}
Testing GL_R32UI, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 0 0 0
  Observed: 0 0 0 0
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 0 0 0
  Observed: 0 0 0 0
PIGLIT:subtest {'GL_R32UI, border color only' : 'fail'}
Testing GL_RG32UI, border color only
Fail with NEAREST and CLAMP_TO_BORDER at (95,36) @ 0,0
  Expected: 25 229 0 0
  Observed: 0 0 0 0
Fail with NEAREST and MIRROR_CLAMP_TO_BORDER_EXT at (273,36) @ 0,0
  Expected: 25 229 0 0
  Observed: 0 0 0 0
PIGLIT:subtest {'GL_RG32UI, border color only' : 'fail'}
PIGLIT: {'result': 'fail' }


fe92d7fab4ee8293fc93ea97680db52342b3b464 is the first bad commit
commit fe92d7fab4ee8293fc93ea97680db52342b3b464
Author: Roland Scheidegger <sroland@vmware.com>
Date:   Tue Aug 20 04:11:02 2013 +0200

    gallivm: do clamping of border color correctly for all formats
    
    Turns out it is actually very complicated to figure out what a format really
    is wrt range, as using channel information for determining unorm/snorm etc.
    doesn't work for a bunch of cases - namely compressed, subsampled, other.
    Also while here add clamping for uint/sint as well - d3d10 doesn't actually
    need this (can only use ld with these formats hence no border) and we could
    do this outside the shader for GL easily (due to the fixed texture/sampler
    relation) do it here too just so I can forget about it.
    
    v2: move border color clamping out of fetch texel. Also change it to clamp
    the whole border vector at once (and use vectorized load of border color),
    which saves a couple of instructions - needs some different handling of
    mixed signed/unsigned formats so skip the per channel stuff and just derive
    this from first channel except for special formats.
    
    Reviewed-by: Jose Fonseca <jfonseca@vmware.com>

:040000 040000 df6d1f8219680e46748da2d37a60b0050567c10b 75084dfea699f4c4d2c613b1da115b965408046f M	src
bisect run success
Comment 1 Roland Scheidegger 2013-08-22 17:13:29 UTC
Fixed by 33694a1800cdf6909f197d711e84f636602981da.

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.