Bug 99660

Summary: Not all of the int64 conversion opcodes got implemented
Product: Mesa Reporter: Jason Ekstrand <jason>
Component: Drivers/DRI/i965Assignee: Samuel Iglesias Gonsálvez <siglesias>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: mark.a.janes, mattst88, siglesias
Version: 17.0   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: patch to fix failures in BSW/BXT

Description Jason Ekstrand 2017-02-03 02:04:55 UTC
Nicolai just pushed some additions to the int64 test generator in piglit and we're failing a few hundred of the new tests.  It seems that most of the conversion operations weren't properly added to channel expressions and some of them didn't get implemented in the back-end.  Either that, or the lowering code isn't doing what it claims (given that it claims to use ivec2's).  I started hacking on trying to fix it and fixed a couple hundred but there are still about 200 tests still failing:

https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/int64-fixes
Comment 1 Lionel Landwerlin 2017-02-08 13:56:17 UTC
Got almost all of it fixed for piglit, but apparently triggered 3 failures on the CTS.  Almost there.
Comment 2 Samuel Iglesias Gonsálvez 2017-02-08 14:27:14 UTC
(In reply to Lionel Landwerlin from comment #1)
> Got almost all of it fixed for piglit, but apparently triggered 3 failures
> on the CTS.  Almost there.

Oh, I have been implementing those too. This is the branch just in case it can help you to fix the pending ones:

https://github.com/Igalia/mesa/tree/wip/siglesias/int64-fixes
Comment 3 Lionel Landwerlin 2017-02-08 14:50:23 UTC
Hi Samuel, looks like your branch has all the same fixes as mine.
I'm running the CI against it, but it seems to fix the remaining issues on my machine.
Please assign the bugs you're working to yourself so we don't work on the same ones :)
Thanks!
Comment 4 Samuel Iglesias Gonsálvez 2017-02-08 15:00:49 UTC
(In reply to Lionel Landwerlin from comment #3)
> Hi Samuel, looks like your branch has all the same fixes as mine.
> I'm running the CI against it, but it seems to fix the remaining issues on
> my machine.
> Please assign the bugs you're working to yourself so we don't work on the
> same ones :)
> Thanks!

Yeah, sorry. I forgot to do it and I was waiting for CI results when I saw your comment... that was bad timing! :-S
Comment 5 Samuel Iglesias Gonsálvez 2017-02-09 10:29:08 UTC
Patches pushed to master. I close this bug.
Comment 6 Mark Janes 2017-02-09 21:47:33 UTC
I still have failures for bsw and bxt:
piglit.spec.arb_gpu_shader_int64.execution.conversion.frag-conversion-explicit-bool-int64_t
piglit.spec.arb_gpu_shader_int64.execution.conversion.frag-conversion-explicit-bool-uint64_t
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bool-int64_t
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bool-uint64_t
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bvec2-i64vec2
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bvec2-u64vec2
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bvec3-i64vec3
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bvec3-u64vec3
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bvec4-i64vec4
piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-explicit-bvec4-u64vec4
piglit.spec.arb_gpu_shader_int64.execution.conversion.vert-conversion-explicit-bool-int64_t
piglit.spec.arb_gpu_shader_int64.execution.conversion.vert-conversion-explicit-bool-uint64_t

for example:
shader_runner /tmp/build_root/m64/lib/piglit/generated_tests/spec/arb_gpu_shader_int64/execution/conversion/vert-conversion-explicit-bool-int64_t.shader_test -auto
piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching 4.5 context

Probe color at (0,0)
  Expected: 0 255 0 255
  Observed: 255 0 0 255
Test failure on line 50
Comment 7 Samuel Iglesias Gonsálvez 2017-02-10 13:12:12 UTC
(In reply to Mark Janes from comment #6)
> I still have failures for bsw and bxt:
> piglit.spec.arb_gpu_shader_int64.execution.conversion.frag-conversion-
> explicit-bool-int64_t
> piglit.spec.arb_gpu_shader_int64.execution.conversion.frag-conversion-
> explicit-bool-uint64_t
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bool-int64_t
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bool-uint64_t
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bvec2-i64vec2
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bvec2-u64vec2
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bvec3-i64vec3
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bvec3-u64vec3
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bvec4-i64vec4
> piglit.spec.arb_gpu_shader_int64.execution.conversion.geom-conversion-
> explicit-bvec4-u64vec4
> piglit.spec.arb_gpu_shader_int64.execution.conversion.vert-conversion-
> explicit-bool-int64_t
> piglit.spec.arb_gpu_shader_int64.execution.conversion.vert-conversion-
> explicit-bool-uint64_t
> 
> for example:
> shader_runner
> /tmp/build_root/m64/lib/piglit/generated_tests/spec/arb_gpu_shader_int64/
> execution/conversion/vert-conversion-explicit-bool-int64_t.shader_test -auto
> piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching
> 4.5 context
> 
> Probe color at (0,0)
>   Expected: 0 255 0 255
>   Observed: 255 0 0 255
> Test failure on line 50

Right. I have now access to a BSW machine. I will send a patch soon.

Thanks for reporting! :)
Comment 8 Samuel Iglesias Gonsálvez 2017-02-10 13:49:56 UTC
Created attachment 129479 [details] [review]
patch to fix failures in BSW/BXT

Mark, Can you test the provided patch on BXT?

Thanks!
Comment 9 Mark Janes 2017-02-10 17:30:23 UTC
Samuel's patch fixes tests on GLK, BXT, and BSW, with no piglit regressions. You can put my tested-by on the patch.
Comment 10 Samuel Iglesias Gonsálvez 2017-02-16 08:01:59 UTC
Forgot to mention that I sent the patch for review some days ago.

https://lists.freedesktop.org/archives/mesa-dev/2017-February/144090.html
Comment 11 Samuel Iglesias Gonsálvez 2017-02-17 05:54:31 UTC
Patch is pushed to master. Mark, feel free to close this bug.

commit fccbad73effc88011b2236e042ad749c8bc15abd
Author: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Date:   Fri Feb 10 14:06:43 2017 +0100

    i965/fs: fix 32-bit data type to int64 conversion on BSW/BXT

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.