Bug 93323

Summary: [HSW,BDW,SKL][GLES 3.1 CTS]ES31-CTS.shader_image_load_store.basic-allTargets-store-fs fail
Product: Mesa Reporter: Marta Löfstedt <marta.lofstedt>
Component: Drivers/DRI/i965Assignee: Francisco Jerez <currojerez>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: currojerez
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 92778    
Attachments: gen7_flush_caches_before_pipeline_select.patch

Description Marta Löfstedt 2015-12-10 12:40:29 UTC
Software versions:
    4.4.0-040400rc4-generic
    OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07)

GPU hardware:
    OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) 
    00:02.0 VGA compatible controller [0300]: Intel Corporation Sky Lake Integrated Graphics [8086:1912] (rev 06)

CPU hardware:
    x86_64
    Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
-----------------
Software versions:
    4.3.0-rc3+
    OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07)

GPU hardware:
    OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5300 (Broadwell GT2) 
    00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:161e] (rev 06)

CPU hardware:
    x86_64
    Genuine Intel(R) CPU 0000 @ 0.60GHz
------------------
Software versions:
    4.2.0-1-generic
    OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07)

GPU hardware:
    OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop 
    00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)

CPU hardware:
    x86_64
    Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
-----------------
CTS version:
git@67ae88f31295

command: 
./glcts --deqp-case=ES31-CTS.shader_image_load_store.basic-allTargets-store-fs

Environment:
Mesa built with: --enable-debug
export MESA_GLES_VERSION_OVERRIDE=3.1
export MESA_EXTENSION_OVERRIDE=GL_ARB_compute_shader
Comment 1 Marta Löfstedt 2015-12-10 12:40:54 UTC
imageCube appear to be broken, it is only the cases with layout and imageCube frag shader that fails. Very similar vs and cs test works.
Comment 2 Marta Löfstedt 2015-12-17 14:31:37 UTC
This issue is not reproducible on BDW and SKL with Jordans/Iagos patches:

http://patchwork.freedesktop.org/patch/63033/
http://patchwork.freedesktop.org/patch/63034/
http://patchwork.freedesktop.org/patch/68471/

Issue on HSW remain.
Comment 3 Francisco Jerez 2015-12-17 15:46:23 UTC
(In reply to Marta Löfstedt from comment #2)
> This issue is not reproducible on BDW and SKL with Jordans/Iagos patches:
> 
> http://patchwork.freedesktop.org/patch/63033/
> http://patchwork.freedesktop.org/patch/63034/
> http://patchwork.freedesktop.org/patch/68471/
> 
> Issue on HSW remain.

I happen to have been looking into the HSW issue today.  The problem seems to have nothing to do with cubemap images, the failure in the cubemap subtest seems to be fallout from incorrect switching between compute and render pipelines from the previous subtest: If you comment out all other subtests the failure disappears, and if you comment out the glDispatchCompute from the previous (passing) subtest the failure also disappears.  What causes the failure from the glDispatchCompute call seems to be the switching to the GPGPU pipeline alone, the state emission and actual GPGPU walker commands seem to be irrelevant.

The reason for the misrendering seems to be that we're missing the PIPE_CONTROL flushes that are necessary on Gen7 before switching pipelines (among a pile of other workarounds mentioned in the BSpec...), I'll attach a fix.
Comment 4 Francisco Jerez 2015-12-17 15:49:54 UTC
Created attachment 120565 [details] [review]
gen7_flush_caches_before_pipeline_select.patch
Comment 5 Marta Löfstedt 2015-12-18 08:23:56 UTC
Thanks Curro,

Your patch fix the problem.

Will you send it to the mesa list?
Comment 6 Francisco Jerez 2015-12-18 14:44:08 UTC
(In reply to Marta Löfstedt from comment #5)
> Thanks Curro,
> 
> Your patch fix the problem.
> 
> Will you send it to the mesa list?

Sure, I'll send this to the mailing list as soon as I'm done with some other fixes I'm working on for the compute/render pipeline switching code.
Comment 7 Francisco Jerez 2016-01-15 04:44:28 UTC
Fix for the Gen7 issue pushed as 18c76551ee425b981efefc61f663a7781df17882.

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.