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
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
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
It fixed on mesa master branch (commit:86de501f14f11f1e993c8703c0d69bdf1f6c7835)
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.