[Bug 101560] SPIR-V OpSwitch with int64 not supported even though shaderInt64 is true

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jun 23 00:22:25 UTC 2017


            Bug ID: 101560
           Summary: SPIR-V OpSwitch with int64 not supported even though
                    shaderInt64 is true
           Product: Mesa
           Version: unspecified
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Vulkan/intel
          Assignee: intel-3d-bugs at lists.freedesktop.org
          Reporter: programmerjake at gmail.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org
                CC: jason at jlekstrand.net

Created attachment 132150
  --> https://bugs.freedesktop.org/attachment.cgi?id=132150&action=edit
SPIR-V vertex shader that uses OpSwitch on a uint64_t (may be incorrect)

I noticed that even though shaderInt64 is true on gen 8 and above, the SPIR-V
to NIR translator code doesn't support OpSwitch on 64-bit integers.

Supporting 64-bit integers in OpSwitch requires parsing 2 for each switch
value, with the target block id, it requires 3 words for each switch case.

The latest commit on master when I checked is

see OpSwitch translation code:

code that enables shaderInt64:

Note: from what I can tell, glslang doesn't currently allow creating OpSwitch
on a int64, so programs that use OpSwitch this way are probably non-existant.

You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20170623/d5d4fc7b/attachment.html>

More information about the intel-3d-bugs mailing list