Bug 103972

Summary: GL_ARB_gpu_shader_int64. Compute shader. Shared storage.
Product: Mesa Reporter: Rodaemac <kampeador>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: t_arceri
Version: 17.2   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: main.cpp and shader.
Piglit test

Description Rodaemac 2017-11-29 17:15:08 UTC
Created attachment 135802 [details]
main.cpp and shader.

Hello.
I can't assign a variable with the data from shared storage. Before 17.2.5 this bug affected all storage types, when using loops. It was fixed. Now its with shared storage only. Some algorithms are impossible to implement efficiently. I've created a test app to reproduce this bug.
Output should be:
OUTPUT: 2101479989,1917184202,4191109983,1779160146
Currently it is:
0,0,4191109983,1779160146

It was also tested with AMD proprietary driver(GL_AMD_gpu_shader_int64) on Windows 10 and worked correct.
Note 1: If you remove a "shared" qualifier inside shader, you will see a correct output.
Note 2: Sometimes an app freezes my OS on Shader Program execution.
Comment 1 Timothy Arceri 2018-04-12 05:35:16 UTC
Created attachment 138773 [details] [review]
Piglit test

I've turn this into a piglit test. We hit and assert when using the TGSI backend and the NIR backend doesn't currently handle storing or loading shared 64bit values.
Comment 2 GitLab Migration User 2019-09-25 18:01:06 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1289.

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.