Further, there are
currently many more test failures on Mac OS when running the
conformance suite on integrated GPUs than on discrete GPUs. This means
adding a low-power flag now will delay the point at which the next
snapshot of the WebGL conformance tests could be successfully passed.
There had been some hope that a new snapshot could be taken soon,
after triaging the existing test failures on top of tree.
Dean, Chris, any thoughts on this issue?
If we are to make it possible for authors to control which GPU is being used
then we certainly need to have a conformance suite that tests both paths.
But an implementation can pass the conformance suite immediately by simply
ignoring the flag and always enabling the GPU that passes.
That's true but then it should ship in that configuration. If that
implementation intends to ship honoring the low-power GPU preference,
then it should pass the conformance suite while honoring that
preference. All I'm trying to say here is that more work will be
needed on Apple's Intel OpenGL driver (and the WebGL conformance
suite) in order to reasonably add this flag. Given that, are you still
in favor of adding it?
I think it's better to add it to the spec and leave it turned off until the conformance tests can pass than to not add it at all. It will be useful to implement it and make it possible to turn it on with a developer switch. That way we can run the conformance tests and see the breakage so we can submit bugs. And that way, the Apple OpenGL group can also run the tests in this config and see the failures for themselves.
FWIW, we're treating failures on our Integrated GPUs as important as on our Discrete GPUs. In other words, we want to pass in every configuration we can.
I'm in favour of adding the flag (obviously :).
I'm not exactly sure why we'd need to update the test suite. An implementation will be able to ignore this flag at any time, so how can we test for it? It's up to the implementation to make sure it passes when in this mode.