Google Pixel: no WEBGL HALF_FLOAT renderable framebuffer
Reported by
p...@sketchfab.com,
Dec 12 2016
|
|||
Issue descriptionSteps to reproduce the problem: 1. request a webgl half float render texture 2. render inside 3. see that it stays black What is the expected behavior? As per hardware and openlg es3.0, Half float texture framebuffer renderable (https://play.google.com/store/apps/details?id=com.realtechvr.glview&hl=en says GL_EXT_color_buffer_half_float is here) What went wrong? Half float rendertexture is not renderable Did this work before? N/A Does this work in other browsers? N/A Chrome version: 55.0.2883.87 Channel: stable OS Version: 10.0 Flash Version: Shockwave Flash 23.0 r0 We end up using Float texture instead; it hurts performance a lot
,
Dec 12 2016
,
Dec 13 2016
Argh. I do see that https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/oes-texture-half-float.html passes on the Pixel, but that it reports that the half-float textures aren't renderable. Sorry. I think this was an oversight in our exposure of the renderable floating-point formats in WebGL 1.0. feature_info.cc looks like it only contains code which exposes the FP32 formats as color-renderable in WebGL 1.0 contexts. https://cs.chromium.org/chromium/src/gpu/command_buffer/service/feature_info.cc?q=feature_info.cc&sq=package:chromium&dr&l=293 The nastiness involved here: - There's no such thing as a sized internal format for HALF_FLOAT_OES, which is how this functionality would be exposed to ES 2.0. So this would really be for ES 3.0 devices and above. We would expose RBGA16F and RGB16F as legal sized internal formats internally, and translate HALF_FLOAT_OES appropriately to these. Kai, could you help investigate this? It probably won't be that much code to implement this, but the side-effects might be far-reaching. Submitter: please investigate adding a WebGL 2.0 backend to your site. WebGL 2.0 solves these problems conclusively. |
|||
►
Sign in to add a comment |
|||
Comment 1 by zmo@chromium.org
, Dec 12 2016