mirror of https://github.com/mosra/magnum.git
Browse Source
Not sure what I thought here, but using GL_IMPLEMENTATION_COLOR_READ_* with glGetFramebufferParameteriv() is possible only since GL 4.5 (there's no extension adding it) and there's no equivalent for it in GLES 3.1. I assumed that since the entry point is defined in 3.1 then it would also accept the same enum, but apparently not -- and this inconsistency is not fixed in 3.2 either. Funnily enough, all drivers I tried (Mesa ES, SwiftShader, ANGLE) were accepting this. The first driver that complained was ARM Mali on Huawei P10 and there I assumed a driver bug -- but on the contrary, this is the only driver following the spec properly :) Now the glGetFramebufferParameteriv() API (and the DSA equivalent) is used only on GL 4.5 contexts and up, everywhere else it's done using the old-style glGetInteger(). I also renamed the implementations to not misleadingly mention ES 3.1, since it has nothing to do with this. The code path dispatch code is a bit entangled due to all the workarounds, hopefully not breaking any behavior that worked before.pull/331/head
3 changed files with 42 additions and 50 deletions
Loading…
Reference in new issue