Bug 96782 - [regression bisected] R600 fp64 and glsl-4.00 piglit failures
Summary: [regression bisected] R600 fp64 and glsl-4.00 piglit failures
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact: Default DRI bug account
Depends on:
Reported: 2016-07-02 10:50 UTC by James Harvey
Modified: 2016-07-04 22:49 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

piglit comparison summary (164.34 KB, application/x-bzip2)
2016-07-02 10:50 UTC, James Harvey
Emit double precision FMA (1.60 KB, patch)
2016-07-02 17:37 UTC, Jan Vesely
Details | Splinter Review

Description James Harvey 2016-07-02 10:50:26 UTC
Created attachment 124859 [details]
piglit comparison summary

 I'm seeing quite a few new piglit failures on my CYPRESS card.  Git bisect points to the following commit:

54c4d525da7c7fc1e103d7a3e6db015abb132d5d is the first bad commit
commit 54c4d525da7c7fc1e103d7a3e6db015abb132d5d
Author: Jan Vesely <jan.vesely@rutgers.edu>
Date:   Wed Jun 15 19:41:22 2016 -0400

    r600g: Enable FMA on chips that support it
    v2: Merge with PIPE_SHADER_CAP_DOUBLES
        Add CHIP_HEMLOCK
    v3: only set the instruction on EG and CM
    Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
    Signed-off-by: Marek Olšák <marek.olsak@amd.com>

:040000 040000 479cd6da9b2956ead3c0b93c636ad2f8e40f35b7 a7d3e81021b34ac3436e290b33635e5ab38ab73f M      src

Here's a "./piglit run quick" showing last good and first bad commits:

       name: mesa-cbb5adb mesa-54c4d52
       ----  ------------ ------------
       pass:        44981        44015
       fail:          963         1930
      crash:            5            5
       skip:        14356        14356
    timeout:            0            0
       warn:            4            3
 incomplete:            0            0
 dmesg-warn:            0            0
 dmesg-fail:            0            0
    changes:            0          970
      fixes:            0            2
regressions:            0          968
      total:        60309        60309

Roughly half of the new failures are in arb_gpu_shader_fp64 (including all 37 tests in the uniform_buffers subcategory), while the other half are in glsl-4.00/execution/built-in-functions. Output from "./piglit summary console" included in the compressed attachment.

I'm glad to see these older cards are still getting attention.  I'd be happy to test any patches.  Thanks,
  James Harvey

Software versions:
    Linux 4.7.0-rc5 x86_64
    OpenGL version string: 3.0 Mesa 12.1.0-devel (git-3fea592)

GPU hardware:
    OpenGL renderer string: Gallium 0.4 on AMD CYPRESS (DRM 2.45.0 / 4.7.0-rc5)
    01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, 
Inc. [AMD/ATI] Cypress PRO [Radeon HD 5850] [1002:6899]

CPU hardware:
    AMD Phenom(tm) II X4 955 Processor
Comment 1 Jan Vesely 2016-07-02 17:37:01 UTC
Created attachment 124867 [details] [review]
Emit double precision FMA

Does the attached patch help?
Comment 2 James Harvey 2016-07-02 19:13:27 UTC
Hi Jan,
 Yes, the patch fixed all of the regressed piglits.  It looks like these are now fixed as well:

spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dvec3-bvec3: fail pass
spec/arb_gpu_shader_fp64/execution/conversion/frag-conversion-explicit-dvec4-bvec4: fail pass
spec/arb_gpu_shader_fp64/execution/conversion/geom-conversion-explicit-dvec3-bvec3: fail pass
spec/arb_gpu_shader_fp64/execution/conversion/geom-conversion-explicit-dvec4-bvec4: fail pass
spec/arb_gpu_shader_fp64/execution/conversion/vert-conversion-explicit-dvec3-bvec3: fail pass
spec/arb_gpu_shader_fp64/execution/conversion/vert-conversion-explicit-dvec4-bvec4: fail pass
spec/glsl-4.00/execution/conversion/frag-conversion-explicit-dvec3-bvec3: fail pass
spec/glsl-4.00/execution/conversion/frag-conversion-explicit-dvec4-bvec4: fail pass
spec/glsl-4.00/execution/conversion/geom-conversion-explicit-dvec3-bvec3: fail pass
spec/glsl-4.00/execution/conversion/geom-conversion-explicit-dvec4-bvec4: fail pass
spec/glsl-4.00/execution/conversion/vert-conversion-explicit-dvec3-bvec3: fail pass
spec/glsl-4.00/execution/conversion/vert-conversion-explicit-dvec4-bvec4: fail pass

Tested-by: James Harvey <lothmordor@gmail.com>
Comment 3 Marek Olšák 2016-07-04 22:49:07 UTC
I've pushed the fix. 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.