On Tue, Sep 13, 2011 at 7:22 PM, Mark Callow <email@example.com>
Doing this goes against the long standing principle of uniformity
First off, the much longer-standing principle of Web APIs is that once an interface is released to the public and used in the wild, it's there to stay; breaking APIs should only be done for very serious reasons, usually security-related.Â APIs being released, used by developers, and then removed out from under them destroys developer confidence in the platform.
Second, there's no "principle of uniformity" in WebGL.Â If there was, the dozen or so MAX_ constants wouldn't be there--all implementations would have the same maximum texture size, TUs and so on, with no possibility for them ever being increased.Â There would be no extension mechanism at all.Â These mechanisms exist precisely because the hardware underneath implementations has varying capabilities, and it would be disastrous to limit WebGL to the lowest-common-denominator of hardware.
It's acceptable, and desirable, to limit the variation exposed to scripts in the absence of explicit opt-ins, to minimize *accidental* dependancies on features not available on low-end hardware.Â (I think this should even have been done for eg. MAX_TEXTURE_SIZE and so on: have a baseline profile with MAX_TEXTURE_SIZE = 2048 or so, for example, with larger textures being rejected unless an eg. WEBGL_DESKTOP_PROFILE_2011 extension is loaded to explicitly indicate that you're raising the profile required by your program.)Â It's not acceptable, however, to prevent people from writing games and applications targetting desktop hardware because you don't want people creating anything that doesn't work on your phone.
The facts of the matter are that there is NO mobile GPU design
This is WebGL, not WebMobileOnlyGL.Â Limiting its usability so drastically would severely limit WebGL's chances of gaining broad acceptance by developers.