{"action":"created","issue":{"url":"https://api.github.com/repos/virtual-programming/bioshockinfinite-linux/issues/27","labels_url":"https://api.github.com/repos/virtual-programming/bioshockinfinite-linux/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/virtual-programming/bioshockinfinite-linux/issues/27/comments","events_url":"https://api.github.com/repos/virtual-programming/bioshockinfinite-linux/issues/27/events","html_url":"https://github.com/virtual-programming/bioshockinfinite-linux/issues/27","id":97088666,"number":27,"title":"glCopyImageSubData used even if GL_ARB_copy_image is not available","user":{"login":"Holzhaus","id":1834516,"avatar_url":"https://avatars.githubusercontent.com/u/1834516?v=3","gravatar_id":"","url":"https://api.github.com/users/Holzhaus","html_url":"https://github.com/Holzhaus","followers_url":"https://api.github.com/users/Holzhaus/followers","following_url":"https://api.github.com/users/Holzhaus/following{/other_user}","gists_url":"https://api.github.com/users/Holzhaus/gists{/gist_id}","starred_url":"https://api.github.com/users/Holzhaus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Holzhaus/subscriptions","organizations_url":"https://api.github.com/users/Holzhaus/orgs","repos_url":"https://api.github.com/users/Holzhaus/repos","events_url":"https://api.github.com/users/Holzhaus/events{/privacy}","received_events_url":"https://api.github.com/users/Holzhaus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-24T16:33:49Z","updated_at":"2015-08-20T19:50:16Z","closed_at":null,"body":"Now that mesa finally supports OpenGL 4.1, #7 should no longer be an issue (at least on nvc0 hardware).\r\n\r\nUnfortunately, it looks like Bioshock Infinite also needs [GL_ARB_copy_image](https://www.opengl.org/registry/specs/ARB/copy_image.txt) (which is part of OpenGL 4.3), but doesn't check if it's actually available:\r\n\r\n> However the report is that on top of nouveau that (accurately) exposes GL 4.1 (i.e. has tess and subroutines merged in), it starts calling glCopyImageSubData without\r\nARB_copy_image having been exposed. Mesa naturally returns\r\nINVALID_OPERATION, and nothing is drawn other than the cursor and\r\nsubtitles. My naive implementation (earlier in the thread) makes the\r\ngame operate properly.\r\n\r\nSee [this](http://lists.freedesktop.org/archives/mesa-dev/2015-July/089272.html) for details.\r\n\r\n**Expected behaviour:** Check if GL_ARB_copy_image is available, and exit gracefully if it's not."},"comment":{"url":"https://api.github.com/repos/virtual-programming/bioshockinfinite-linux/issues/comments/133151901","html_url":"https://github.com/virtual-programming/bioshockinfinite-linux/issues/27#issuecomment-133151901","issue_url":"https://api.github.com/repos/virtual-programming/bioshockinfinite-linux/issues/27","id":133151901,"user":{"login":"imirkin","id":817874,"avatar_url":"https://avatars.githubusercontent.com/u/817874?v=3","gravatar_id":"","url":"https://api.github.com/users/imirkin","html_url":"https://github.com/imirkin","followers_url":"https://api.github.com/users/imirkin/followers","following_url":"https://api.github.com/users/imirkin/following{/other_user}","gists_url":"https://api.github.com/users/imirkin/gists{/gist_id}","starred_url":"https://api.github.com/users/imirkin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/imirkin/subscriptions","organizations_url":"https://api.github.com/users/imirkin/orgs","repos_url":"https://api.github.com/users/imirkin/repos","events_url":"https://api.github.com/users/imirkin/events{/privacy}","received_events_url":"https://api.github.com/users/imirkin/received_events","type":"User","site_admin":false},"created_at":"2015-08-20T19:50:16Z","updated_at":"2015-08-20T19:50:16Z","body":"I've pushed a hack GL_ARB_copy_image implementation to mesa (not enabled by default since it doesn't handle all the various cases). However experimentally it's good enough for Bioshock Infinite to run -- you can force-enable it with `MESA_EXTENSION_OVERRIDE=GL_ARB_copy_image`\r\n\r\nHowever GL_ARB_copy_image functionality only becomes core in GL 4.3, and so the application must check for the extension string to be provided on when the reported GL version is below 4.3."}}