Bug 55444 - [Bisected IVB]Piglit fbo_fbo-mipmap-copypix fails
Summary: [Bisected IVB]Piglit fbo_fbo-mipmap-copypix fails
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: All Linux (All)
: high major
Assignee: Chad Versace
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-29 08:20 UTC by lu hua
Modified: 2012-10-09 08:09 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description lu hua 2012-09-29 08:20:40 UTC
System Environment:
--------------------------
Arch:             x86_64
Platform:         Ivybridge
Libdrm:	(master)libdrm-2.4.39-9-g2426a6a7112ae62755408a371831eddbe2d89d99
Mesa:	(master)92b3a99ce5f54f2c692c8db5a0c471aac0ff7c82
Xserver:(master)xorg-server-1.13.0-24-g0b02150c27e98f996e10d7489f9f67a30e4e3497
Xf86_video_intel:(master)2.20.8-36-g8bfd31e9bb13bcb7f12e4147bec0da87b8e87dde
Libva_intel_driver:(staging)f557dd6ad06c31bcf787468e804c948ecc4cf39b
Kernel:	(drm-intel-nightly) c1926436fc12f43d1b60741405b666cd980e9f6d

Bug detailed description:
-------------------------
It fails on ivybridge with mesa master branch.It dosen't happen on mesa 9.0 branch.
Following cases also fail and have same bisect commit:
fbo_fbo-generatemipmap-filtering
fbo_fbo-generatemipmap-formats
glean_texEnv
shaders_glsl-fs-color-matrix
shaders_glsl-lod-bias
shaders_trinity-fp1
spec_ARB_framebuffer_object_framebuffer-blit-levels_draw_rgba
spec_ARB_framebuffer_object_framebuffer-blit-levels_read_rgba
spec_ARB_sampler_objects_sampler-objects
spec_ARB_texture_storage_texture-storage
spec_EXT_transform_feedback_generatemipmap_buffer
spec_EXT_transform_feedback_generatemipmap_discard
spec_EXT_transform_feedback_generatemipmap_prims_generated
spec_EXT_transform_feedback_generatemipmap_prims_written
spec_NV_conditional_render_generatemipmap
spec_OpenGL_1.4_fdo25614-genmipmap
spec_glsl-1.30_execution_fs-texelFetch-2D
spec_glsl-1.30_execution_fs-texelFetchOffset-2D
texturing_1-1-linear-texture
texturing_gen-nonzero-unit
texturing_gen-teximage
texturing_gen-texsubimage
texturing_getteximage-formats
texturing_getteximage-simple
texturing_texsubimage

Bisect shows:b1d0fe022dc4826dadce014ab8fe062a82f75a16 is the first bad commit
commit b1d0fe022dc4826dadce014ab8fe062a82f75a16
Author:     Chad Versace <chad.versace@linux.intel.com>
AuthorDate: Wed Sep 26 11:05:12 2012 -0700
Commit:     Chad Versace <chad.versace@linux.intel.com>
CommitDate: Thu Sep 27 07:35:53 2012 -0700

    intel: Fix segfault in intel_texsubimage_tiled_memcpy

    The function segfaulted when a game called glTexSubImage2D on a texture
    with internalformat/format/type = GL_SLUMINANCE8/GL_BGRA/GL_UNSIGNED_BYTE.

    The function only supports MESA_FORMAT_ARGB8888 and returns early if it
    detects an unsupported format. Clearly, its detection condition was
    insufficient. This patch fixes it to explicity check for
    MESA_FORMAT_ARGB8888.

    Note: This is a candidate for the 9.0 branch (fixes 413c491).
    Reviewed-and-tested-by: Kenneth Graunke <kenneth@whitecape.org>
    Acked-by: Paul Berry <stereotype441@gmail.com>
    Signed-off-by: Chad Versace <chad.versace@linux.intel.com>

output:
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 0.000000
  Mipmap level 0
  Using glCopyPixels()
  Matching src/dest texture formats
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 0.000000
  Mipmap level 0
  Using glRead/DrawPixels()
  Matching src/dest texture formats
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 1.000000
  Mipmap level 0
  Using glCopyPixels()
  Matching src/dest texture formats
  With pixel transfer enabled
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 1.000000
  Mipmap level 0
  Using glRead/DrawPixels()
  Matching src/dest texture formats
  With pixel transfer enabled
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 0.000000
  Mipmap level 0
  Using glCopyPixels()
  Different src/dest texture formats
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 0.000000
  Mipmap level 0
  Using glRead/DrawPixels()
  Different src/dest texture formats
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 1.000000
  Mipmap level 0
  Using glCopyPixels()
  Different src/dest texture formats
  With pixel transfer enabled
Probe at (25,25)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.000000 0.000000 0.000000 1.000000
  Mipmap level 0
  Using glRead/DrawPixels()
  Different src/dest texture formats
  With pixel transfer enabled
PIGLIT: {'result': 'fail' }

Reproduce steps:
----------------
1. start X
2. ./bin/fbo-mipmap-copypix -auto -fbo
Comment 1 lu hua 2012-09-29 08:44:24 UTC
Following Oglc cases also fail and have same bisect commit:
bitmap-tex(basic.allCases
bitmap-transfer(basic.allCases
texsubimage(basic.allCases
volume-tex(volume.basic
tex-compress-dxt1(basic.small.RGBA
tex-compress-dxt1(basic.medAndLarge.RGBA
texCombine(Combiner.Functions
texCombine(Combiner.Sources
texCombine(Combiner.Arguments
texCombine(Combiner.Scales
GLSLlinker(positive.basic.uniform.sampler
GLSLlinker(positive.basic.varying.TexCoordRedeclaration
GLSLlinker(positive.basic.varying.TexCoordRedeclarationDifferentSize
GLSLlinker(positive.uniform.sampler2D
GLSLlinker(positive.uniform.samplerAsFunctionArgument.2D
textureNPOT(basic.allCases
max_values(unstable.advanced.textureImageUnits.original
max_values(unstable.advanced.textureImageUnits.simplified
max_values(unstable.advanced.textureVertexImageUnits
pbo(texImage.1PBOChangeOffset
pbo(getTexImage.1PBODefaults
pbo(getTexImage.multiPBODefaults
pbo(getTexImage.1PBOChangeOffset
pbo(getTexImage.1PBOChangeUsageType
pbo(getTexImage.1PBOChangeDataSize
fbo(renderToTex.1FBOCubeMap
fbo(renderToTex.1FBOCopyTexImage
textureswizzle(advanced.ff.basic
textureswizzle(advanced.ff.texenv
textureswizzle(advanced.ff.internalfmt
textureswizzle(advanced.ff.targets
textureswizzle(advanced.ff.mipmaps
textureswizzle(advanced.ff.multitex
textureswizzle(advanced.ff.border
textureswizzle(advanced.ff.copyteximage
textureswizzle(advanced.shader.basic
textureswizzle(advanced.shader.internalfmt
textureswizzle(advanced.shader.targets
textureswizzle(advanced.shader.multitex
glsl-bif-tex-lod(advanced.deprec.2d.noProj
glsl-bif-tex-lod(advanced.deprec.2d.proj
glsl-bif-tex-lod(advanced.deprec.2d.proj4
glsl-bif-tex-lod(advanced.glsl130.textureLod.2d
glsl-bif-tex-lod(advanced.glsl130.textureLodOffset.2d
glsl-bif-tex-lod(advanced.glsl130.textureProjLod.2d
glsl-bif-tex-lod(advanced.glsl130.textureProjLod.2dVec4
glsl-bif-tex-lod(advanced.glsl130.textureProjLodOffset.2d
glsl-bif-tex-lod(advanced.glsl130.textureProjLodOffset.2dVec4
draw-buffers2(advanced.mask.copyPixels
tex-compress-rgtc(basic.fetchTest.gradientTextureSmallSize.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.fetchTest.gradientTextureSmallSize.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.fetchTest.gradientTextureMedAndLargeSize.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.fetchTest.gradientTextureMedAndLargeSize.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.fetchTest.fixedImage.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.fetchTest.fixedImage.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.fetchTest.extCompressor.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.fetchTest.extCompressor.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.samplerTest.gradientTextureSmallSize.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.samplerTest.gradientTextureSmallSize.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.samplerTest.gradientTextureMedAndLargeSize.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.samplerTest.gradientTextureMedAndLargeSize.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.samplerTest.fixedImage.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.samplerTest.fixedImage.COMPRESSED_RG_RGTC2
tex-compress-rgtc(basic.samplerTest.extCompressor.COMPRESSED_RED_RGTC1
tex-compress-rgtc(basic.samplerTest.extCompressor.COMPRESSED_RG_RGTC2
Comment 2 Chad Versace 2012-10-01 16:00:35 UTC
Do these tests still fail on master? I may have fixed the bug with the commit below.

commit b5891286202987dfc2606ac716050c0ee426de11
Author: Chad Versace <chad.versace@linux.intel.com>
Date:   Thu Sep 27 11:05:34 2012 -0700

    intel: Fix yet-another-bug in intel_texsubimage_tiled_memcpy
Comment 3 lu hua 2012-10-09 08:08:41 UTC
It fixed on  mesa master branch (commit:86de501f14f11f1e993c8703c0d69bdf1f6c7835)
Comment 4 lu hua 2012-10-09 08:09:21 UTC
Verified. Fixed on commit 86de501f14f11f1e.


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.