{"action":"closed","issue":{"url":"https://api.github.com/repos/baldurk/renderdoc/issues/168","labels_url":"https://api.github.com/repos/baldurk/renderdoc/issues/168/labels{/name}","comments_url":"https://api.github.com/repos/baldurk/renderdoc/issues/168/comments","events_url":"https://api.github.com/repos/baldurk/renderdoc/issues/168/events","html_url":"https://github.com/baldurk/renderdoc/issues/168","id":114085072,"number":168,"title":"[OpenGL] Crash when separable shader program cannot be created","user":{"login":"SirTimothy","id":6760500,"avatar_url":"https://avatars.githubusercontent.com/u/6760500?v=3","gravatar_id":"","url":"https://api.github.com/users/SirTimothy","html_url":"https://github.com/SirTimothy","followers_url":"https://api.github.com/users/SirTimothy/followers","following_url":"https://api.github.com/users/SirTimothy/following{/other_user}","gists_url":"https://api.github.com/users/SirTimothy/gists{/gist_id}","starred_url":"https://api.github.com/users/SirTimothy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SirTimothy/subscriptions","organizations_url":"https://api.github.com/users/SirTimothy/orgs","repos_url":"https://api.github.com/users/SirTimothy/repos","events_url":"https://api.github.com/users/SirTimothy/events{/privacy}","received_events_url":"https://api.github.com/users/SirTimothy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/baldurk/renderdoc/labels/status:%20to%20be%20verified","name":"status: to be verified","color":"bfe5bf"},{"url":"https://api.github.com/repos/baldurk/renderdoc/labels/type:%20bug","name":"type: bug","color":"5319e7"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-10-29T16:10:16Z","updated_at":"2015-11-10T13:35:56Z","closed_at":"2015-11-10T13:35:56Z","body":"In my case, it was when I had a Tessellation Evaluation Shader without gl_PerVertex being redeclared. In application, the set of shaders is linked in a single program object, and worked without any warnings or errors, but RenderDoc crashed without a word when I went to a drawcall using the program.\r\n\r\nSo I built Profile config locally and before the crash I hit an error in MakeSeparableShaderProgram(), with \"error C7592: ARB_separate_shader_objects requires built-in block gl_PerVertex to be redeclared before accesing its members\". Sure enough, shader didn't redeclare it.\r\n\r\nContinuing through a couple more related errors, this led to GLReplay::SavePipelineState giving a null ShaderReflection* to GetBindpointMapping, and crash.\r\n\r\nWas able to fix on my end by adding gl_PerVertex to the shader, but probably be nice to not crash if that happens :)"}}