Bug 93618

Summary: [BXT] Tessellation triggers BXT-specific failures
Product: Mesa Reporter: Mark Janes <mark.a.janes>
Component: Drivers/DRI/i965Assignee: Mark Janes <mark.a.janes>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: ben, mark.a.janes
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 96253    
Attachments: DS workaround for start GRF

Description Mark Janes 2016-01-06 22:13:36 UTC
with mesa 65248976065900190899f221cff3ef7c45de1569, the following piglit tests fail *only* on BXT:

piglit.spec.!opengl 1_0.gl-1.0-blend-func
piglit.spec.arb_gpu_shader5.texturegatheroffset.vs-rgb-2-int-2d-const
piglit.spec.arb_tessellation_shader.execution.tes-read-texture
piglit.spec.arb_tessellation_shader.execution.variable-indexing.tcs-input-array-float-index-rd
piglit.spec.arb_tessellation_shader.execution.variable-indexing.tcs-input-array-vec2-index-rd
piglit.spec.arb_tessellation_shader.execution.variable-indexing.tcs-input-array-vec3-index-rd
piglit.spec.arb_tessellation_shader.execution.variable-indexing.tcs-input-array-vec4-index-rd
piglit.spec.arb_tessellation_shader.execution.variable-indexing.vs-output-array-float-index-wr-before-tcs
piglit.spec.arb_tessellation_shader.execution.variable-indexing.vs-output-array-vec2-index-wr-before-tcs
piglit.spec.arb_tessellation_shader.execution.variable-indexing.vs-output-array-vec3-index-wr-before-tcs
piglit.spec.arb_tessellation_shader.execution.variable-indexing.vs-output-array-vec4-index-wr-before-tcs
piglit.spec.arb_tessellation_shader.execution.vs-tes-tessinner-tessouter-inputs-quads
piglit.spec.arb_tessellation_shader.execution.vs-tes-tessinner-tessouter-inputs-tris
piglit.spec.arb_texture_multisample.texelfetch fs sampler2dms 4 1x130-501x130
piglit.spec.ext_transform_feedback.max-varyings
piglit.spec.glsl-1_10.execution.built-in-functions.fs-op-and-bool-bool
piglit.spec.glsl-1_10.execution.built-in-functions.vs-op-sub-vec3-vec3
piglit.spec.glsl-1_10.linker.override-builtin-uniform-04
piglit.spec.glsl-1_20.execution.variable-indexing.fs-uniform-array-mat3-col-rd
piglit.spec.glsl-1_30.execution.fs-texture-sampler2dshadow-11
piglit.spec.glsl-1_30.execution.texelfetch fs sampler2d 1x281-501x281
piglit.spec.glsl-1_30.execution.texelfetch fs sampler2d 281x1-281x281
piglit.spec.glsl-1_50.execution.built-in-functions.gs-op-assign-div-mat4x3-mat4x3
piglit.spec.glsl-1_50.execution.built-in-functions.gs-op-div-uvec2-uvec2


Sample output:
/tmp/build_root/m32/lib/piglit/bin/shader_runner /tmp/build_root/m32/lib/piglit/tests/spec/arb_tessellation_shader/execution/variable-indexing/tcs-input-array-vec2-index-rd.shader_test -auto
piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching 3.3 context

Probe color at (6,6)
  Expected: 0.000000 1.000000 0.000000
  Observed: 0.501961 0.501961 0.501961
Probe color at (18,6)
  Expected: 0.000000 1.000000 0.000000
  Observed: 0.501961 0.501961 0.501961

Standard Error

intel_do_flush_locked failed: Input/output error
intel_do_flush_locked failed: Input/output error
Comment 1 Mark Janes 2016-01-06 23:01:21 UTC
In addition, this commit generates multiple GPU Hangs on BXT.
Comment 2 Mark Janes 2016-01-07 01:07:50 UTC
opengl.1_1.read-front* tests occasionally hang forever without generating gpu hang.  I've disabled them until the GPU Hang is resolved.
Comment 3 Kenneth Graunke 2016-01-07 02:16:22 UTC
read-front should just crash on gbm anyway, sounds like the GPU is just hosed.
Comment 4 Mark Janes 2016-01-07 16:18:29 UTC
Ken, I think you are right about the GPU being hosed.  My attempts to bisect on BXT do not produce meaningful results, since the test set includes the gpu hang.
Comment 5 Mark Janes 2016-01-07 19:24:38 UTC
disabling all tesselation tests in piglit eliminates gpu hangs and provides stable results.  I'll leave them off until this bug is resolved.
Comment 6 Mark Janes 2016-01-11 19:35:13 UTC
Re-assigning, as Ken has no BXT and Ben is out.  Neil, can you take a look at this?

Ken pointed out these workarounds:

   WaSendDummyGPGPUWalkerBeforeHSWithBarrier:
   http://dt.igk.intel.com/wa_database/Details?
   workaroundName=WaSendDummyGPGPUWalkerBeforeHSWithBarrier
   (forever)

   WaDisableDSPushConstantsInFusedDownModeWithOnlyTwoSubslices
   http://dt.igk.intel.com/wa_database/Details/Index?
   workaroundName=WaDisableDSPushConstantsInFusedDownModeWithOnlyTwoSubslices
   (should be A0 only)
Comment 7 Ben Widawsky 2016-01-26 18:50:22 UTC
Created attachment 121311 [details] [review]
DS workaround for start GRF
Comment 8 Ben Widawsky 2016-01-26 20:38:32 UTC
Comment on attachment 121311 [details] [review]
DS workaround for start GRF

Review of attachment 121311 [details] [review]:
-----------------------------------------------------------------

This patch is invalid. My bad.
Comment 9 Mark Janes 2016-05-28 00:04:52 UTC
Works for Ben's BXT, Mark needs to repro.
Comment 10 Ben Widawsky 2016-05-28 00:30:15 UTC
I think I was mistaken. Maybe I forgot to say it on IRC.
Comment 11 Mark Janes 2016-05-28 00:48:04 UTC
tesselation is passing for me on BXT.  Closing.

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.