{"action":"created","issue":{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/8270","labels_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/8270/labels{/name}","comments_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/8270/comments","events_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/8270/events","html_url":"https://github.com/hrydgard/ppsspp/pull/8270","id":121938156,"number":8270,"title":"Move toward supporting OpenGL Core Profile 3.3 - 4.5","user":{"login":"unknownbrackets","id":191233,"avatar_url":"https://avatars.githubusercontent.com/u/191233?v=3","gravatar_id":"","url":"https://api.github.com/users/unknownbrackets","html_url":"https://github.com/unknownbrackets","followers_url":"https://api.github.com/users/unknownbrackets/followers","following_url":"https://api.github.com/users/unknownbrackets/following{/other_user}","gists_url":"https://api.github.com/users/unknownbrackets/gists{/gist_id}","starred_url":"https://api.github.com/users/unknownbrackets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unknownbrackets/subscriptions","organizations_url":"https://api.github.com/users/unknownbrackets/orgs","repos_url":"https://api.github.com/users/unknownbrackets/repos","events_url":"https://api.github.com/users/unknownbrackets/events{/privacy}","received_events_url":"https://api.github.com/users/unknownbrackets/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-12-13T19:31:04Z","updated_at":"2015-12-15T05:22:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hrydgard/ppsspp/pulls/8270","html_url":"https://github.com/hrydgard/ppsspp/pull/8270","diff_url":"https://github.com/hrydgard/ppsspp/pull/8270.diff","patch_url":"https://github.com/hrydgard/ppsspp/pull/8270.patch"},"body":"Specifically:\r\n * Stop loading GL_EXTENSIONS in a deprecated way on GL 3.x+ / GLES 3.x+.\r\n * Switch to VAOs (when supported) for thin3d and GE debugger.\r\n\r\nThe remaining things I'm aware of are:\r\n - [ ] Stop using glLineWidth (not supported on GLES anyway) - build triangles.\r\n - [x] Add a supports flag for VAOs, so we can turn it off easily in compat context (not sure of perf.)\r\n - [x] Use VAOs/VBOs in depal.\r\n - [x] Use VAOs/VBOs in framebuffer drawing.\r\n - [x] Always use VAOs/VBOs in transform.\r\n - [x] Use VAO/VBO for software rendering.\r\n - [ ] Add glsl versions to all shaders.\r\n\r\nOne thing I had trouble with - in the vertex preview code, I had to re-upload the index and vertex data.  Simply rebinding wasn't even enough, and I couldn't find anywhere it might've been getting overwritten.  Not sure what I'm doing wrong...\r\n\r\n-[Unknown]"},"comment":{"url":"https://api.github.com/repos/hrydgard/ppsspp/issues/comments/164647905","html_url":"https://github.com/hrydgard/ppsspp/pull/8270#issuecomment-164647905","issue_url":"https://api.github.com/repos/hrydgard/ppsspp/issues/8270","id":164647905,"user":{"login":"unknownbrackets","id":191233,"avatar_url":"https://avatars.githubusercontent.com/u/191233?v=3","gravatar_id":"","url":"https://api.github.com/users/unknownbrackets","html_url":"https://github.com/unknownbrackets","followers_url":"https://api.github.com/users/unknownbrackets/followers","following_url":"https://api.github.com/users/unknownbrackets/following{/other_user}","gists_url":"https://api.github.com/users/unknownbrackets/gists{/gist_id}","starred_url":"https://api.github.com/users/unknownbrackets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unknownbrackets/subscriptions","organizations_url":"https://api.github.com/users/unknownbrackets/orgs","repos_url":"https://api.github.com/users/unknownbrackets/repos","events_url":"https://api.github.com/users/unknownbrackets/events{/privacy}","received_events_url":"https://api.github.com/users/unknownbrackets/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T05:22:09Z","updated_at":"2015-12-15T05:22:09Z","body":"Okay, I've added `gl_extensions.IsCoreContext`.  Mac will just have to set this.\r\n\r\nWow, that is horrible.  Ugh.\r\n\r\nI'm thinking I can just calculate the dx/dy of one pixel (a \"1x\" pixel, mind you) from the transform matrices, and then I have the positive screen direction too, right?  I could continue to use our existing drawing code.  A perpendicular vector shouldn't be any different calculated before or after transformation, right?  I mean, as long as it gets transformed too, which it would.\r\n\r\nBut that's probably best in a separate pull.\r\n\r\n-[Unknown]"}}