[webkit-help] Rendering problems without 3D_RENDERING and TEXTURE_MAPPER

pulkomandy pulkomandy at pulkomandy.tk
Tue Sep 2 06:42:06 PDT 2014


I have a rather annoying issue with the Haiku port for some time. In
several places there are pages where parts are not rendered at all. For
example, on youtube.com the search bar at the top of the page does not

I have identified the problem: anything using
	-webkit-transform: translate3d
or any other way to trigger the "3D" mode (even with an identity
transformation) is not rendered.

This would not be a problem if this was used only when 3D is actually
needed, but a lot of websites are using this in an attempt to enable
GPU-accelerated rendering on some browsers.

I tried enabling the 3D_RENDERING build feature but this has no effect
on its own. It seems 3D_RENDERING has an effect only when TEXTURE_MAPPER
is also enabled. We don't want to enable this, for performance reasons
(the texture mapper doesn't work very well with our currently software
rendered drawing code).

I don't think actual 3D rendering is an useful feature for the Haiku
port (at least not until we can use the GPU to do the rendering). So I'm
looking for either:
- A way to make WebKit ignore "translate3d" and the other 3D things in
  CSS and render pages as if there was no transform at all. I thought
  the 3D_RENDERING feature would do that, but apparently it doesn't.
- Or, a way to handle the 3D elements in our platform specific drawing
  code. At the moment it looks like the GraphicsContext mehods are never
  called to draw these 3D elements, but I don't understand why it is so.
  I suspect they are somehow intercepted and sent to a separate "3D"
  drawing code, but I couldn't find that anywhere in the source. So I
  have no idea how they are supposed to be drawn on screen, if they
  don't go through the GraphicsContext.


More information about the webkit-help mailing list