{"action":"created","issue":{"url":"https://api.github.com/repos/KhronosGroup/glslang/issues/236","repository_url":"https://api.github.com/repos/KhronosGroup/glslang","labels_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/236/labels{/name}","comments_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/236/comments","events_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/236/events","html_url":"https://github.com/KhronosGroup/glslang/pull/236","id":148296933,"number":236,"title":"Implement the extension GL_ARB_shader_ballot","user":{"login":"amdrexu","id":13959852,"avatar_url":"https://avatars.githubusercontent.com/u/13959852?v=3","gravatar_id":"","url":"https://api.github.com/users/amdrexu","html_url":"https://github.com/amdrexu","followers_url":"https://api.github.com/users/amdrexu/followers","following_url":"https://api.github.com/users/amdrexu/following{/other_user}","gists_url":"https://api.github.com/users/amdrexu/gists{/gist_id}","starred_url":"https://api.github.com/users/amdrexu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amdrexu/subscriptions","organizations_url":"https://api.github.com/users/amdrexu/orgs","repos_url":"https://api.github.com/users/amdrexu/repos","events_url":"https://api.github.com/users/amdrexu/events{/privacy}","received_events_url":"https://api.github.com/users/amdrexu/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2016-04-14T09:03:26Z","updated_at":"2016-05-07T14:23:09Z","closed_at":"2016-05-05T18:06:59Z","pull_request":{"url":"https://api.github.com/repos/KhronosGroup/glslang/pulls/236","html_url":"https://github.com/KhronosGroup/glslang/pull/236","diff_url":"https://github.com/KhronosGroup/glslang/pull/236.diff","patch_url":"https://github.com/KhronosGroup/glslang/pull/236.patch"},"body":"This change partially supports int64_t/uint64_t in that they are required by this extension. I will add complete support in the subsequent change to fully implement GL_ARB_gpu_shader_int64.\r\n\r\nCurrently, the extended instructions for 3 built-in functions and built-in decorations for 7 built-in variables are missing in SPIR-V. Once the header is defined and is added in glslang, I will finish this part of translation work. I use \"GLSLstd450Bad\" as placeholder to pass the compilation."},"comment":{"url":"https://api.github.com/repos/KhronosGroup/glslang/issues/comments/217640364","html_url":"https://github.com/KhronosGroup/glslang/pull/236#issuecomment-217640364","issue_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/236","id":217640364,"user":{"login":"amdrexu","id":13959852,"avatar_url":"https://avatars.githubusercontent.com/u/13959852?v=3","gravatar_id":"","url":"https://api.github.com/users/amdrexu","html_url":"https://github.com/amdrexu","followers_url":"https://api.github.com/users/amdrexu/followers","following_url":"https://api.github.com/users/amdrexu/following{/other_user}","gists_url":"https://api.github.com/users/amdrexu/gists{/gist_id}","starred_url":"https://api.github.com/users/amdrexu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amdrexu/subscriptions","organizations_url":"https://api.github.com/users/amdrexu/orgs","repos_url":"https://api.github.com/users/amdrexu/repos","events_url":"https://api.github.com/users/amdrexu/events{/privacy}","received_events_url":"https://api.github.com/users/amdrexu/received_events","type":"User","site_admin":false},"created_at":"2016-05-07T14:23:09Z","updated_at":"2016-05-07T14:23:09Z","body":"@johnkslang My private implementation (05c2c358f71129b678985b3982bcfb9fe92d8506) is based on this SPIR-V extension spec (https://gitlab.khronos.org/spirv/SPIR-V/blob/master/extensions/shader_ballot.txt) to finish SPIR-V token generation for GL_ARB_shader_ballot.\r\n\r\nSince this extension spec is old and there are changes of SPIR-V spec during this period of time, I am not sure whether this extension spec is valid as the base of my implementation. Some items (gl_SubGroupSizeARB, readInvocationARB()) are duplicate compared to current SPIR-V spec while other items (gl_SubGroupXxMaskARB, ballotARB(), readFirstInvocationARB()) are indeed missing."}}