{"action":"created","issue":{"url":"https://api.github.com/repos/KhronosGroup/glslang/issues/517","repository_url":"https://api.github.com/repos/KhronosGroup/glslang","labels_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/517/labels{/name}","comments_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/517/comments","events_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/517/events","html_url":"https://github.com/KhronosGroup/glslang/issues/517","id":178578177,"number":517,"title":"Remove optionality of support for vendor-specific extension in glslang.","user":{"login":"DominikWitczakAMD","id":17761066,"avatar_url":"https://avatars.githubusercontent.com/u/17761066?v=3","gravatar_id":"","url":"https://api.github.com/users/DominikWitczakAMD","html_url":"https://github.com/DominikWitczakAMD","followers_url":"https://api.github.com/users/DominikWitczakAMD/followers","following_url":"https://api.github.com/users/DominikWitczakAMD/following{/other_user}","gists_url":"https://api.github.com/users/DominikWitczakAMD/gists{/gist_id}","starred_url":"https://api.github.com/users/DominikWitczakAMD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DominikWitczakAMD/subscriptions","organizations_url":"https://api.github.com/users/DominikWitczakAMD/orgs","repos_url":"https://api.github.com/users/DominikWitczakAMD/repos","events_url":"https://api.github.com/users/DominikWitczakAMD/events{/privacy}","received_events_url":"https://api.github.com/users/DominikWitczakAMD/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-09-22T10:55:50Z","updated_at":"2016-09-23T15:51:37Z","closed_at":null,"body":"Right now, in order to be able to access AMD-specific extensions (such as GL_AMD_shader_ballot), ISVs are required to modify CMake configuration and build customized versions of glslang, as CMake's ENABLE_AMD_EXTENSIONS option is disabled by default.\r\n\r\nWe would like to have that CMake option removed, making extension support *always enabled* in glslang. We see this problem being frequently raised by ISVs who use Vulkan, and it is also our belief that customized glslang builds are not the right way for providing support for GLSL / SPIR-V extensions in glslang in the foreseeable future.\r\n\r\nWhile I referred to our existing extensions here as an example, we are worried about current approach to adding support for vendor-specific extensions as a whole. We would like to see glslang include support for all vendor-specific extensions in general, in order to avoid fragmenting Vulkan ecosystem."},"comment":{"url":"https://api.github.com/repos/KhronosGroup/glslang/issues/comments/249229935","html_url":"https://github.com/KhronosGroup/glslang/issues/517#issuecomment-249229935","issue_url":"https://api.github.com/repos/KhronosGroup/glslang/issues/517","id":249229935,"user":{"login":"kholtnv","id":18039466,"avatar_url":"https://avatars.githubusercontent.com/u/18039466?v=3","gravatar_id":"","url":"https://api.github.com/users/kholtnv","html_url":"https://github.com/kholtnv","followers_url":"https://api.github.com/users/kholtnv/followers","following_url":"https://api.github.com/users/kholtnv/following{/other_user}","gists_url":"https://api.github.com/users/kholtnv/gists{/gist_id}","starred_url":"https://api.github.com/users/kholtnv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kholtnv/subscriptions","organizations_url":"https://api.github.com/users/kholtnv/orgs","repos_url":"https://api.github.com/users/kholtnv/repos","events_url":"https://api.github.com/users/kholtnv/events{/privacy}","received_events_url":"https://api.github.com/users/kholtnv/received_events","type":"User","site_admin":false},"created_at":"2016-09-23T15:51:37Z","updated_at":"2016-09-23T15:51:37Z","body":"It would be nice, just as a coding convention to continue to bracket vendor specific code with some\r\n\"ifdef\" (like #ifdef AMD_EXTENSION ... #endif) (and just define AMD_EXTENSION somewhere)\r\nso that it is clear that the bracketed code is from a vendor and not \"core\"."}}
{"actor":{"display_login":"kholtnv"}}