Commit Graph

20 Commits

Author SHA1 Message Date
Ivo van Dongen
bda6ed26c6 [core] send signal to RenderCustomLayer when gl context has been lost
- Prevents cleaning up of GL resources that no longer exist, resulting in a crash
2017-09-22 23:33:56 +03:00
Lauren Budorick
a9ddf5b7fd Preserve depth buffer between 3D layers + optimize render order (#9931)
Port of https://github.com/mapbox/mapbox-gl-js/pull/5101: adds a new render pass `Pass3D` before any other rendering wherein we render layers with 3D passes (fill-extrusion layers) to offscreen framebuffers, sharing a depth renderbuffer between those layers in order to render 3D space correctly. Those framebuffers are saved on the RenderLayers and copied back to the map during the translucent pass. Rendering to offscreen framebuffers before we do any clear + draw means we can avoid expensive framebuffer restores.
2017-09-21 14:26:48 -07:00
Bruno de Oliveira Abinader
45d07163eb [core] Reset zoom history state in still mode 2017-09-15 16:41:29 -03:00
Bruno de Oliveira Abinader
88a0187f21 [core] Precompute if has image diffs when updating sources 2017-09-14 06:30:12 +03:00
John Firebaugh
2bbde6903a [core] Rename for clarity: ActiveTexture → ActiveTextureUnit 2017-09-11 10:17:54 -07:00
Lauren Budorick
f8a53234ff [core] Remove debug::renderTree 2017-09-07 12:07:46 -07:00
Ivo van Dongen
4c96603eb6 [core] move annotation tile updates to renderer
- AnnotationData.updateData() was not completely thread safe. Calling it from the renderer thread instead of the main thread fixes this
- Since we moved the coalescing of updates out of the map and into the renderer frontend implementations, the updateData was called too much, resulting in degraded performance. Moving it into the renderer makes sure it gets coalesced again.
2017-08-31 18:45:28 +03:00
John Firebaugh
b0c03f9396 [core] No need to skip glClear optimization in overdraw mode 2017-08-24 13:06:23 -07:00
John Firebaugh
28be432041 [core] Eliminate temporary sources set 2017-08-24 13:06:23 -07:00
John Firebaugh
4dd30db7cb [core] Clean up includes and forward declarations 2017-08-24 13:06:23 -07:00
John Firebaugh
9c02e4d7dd [core] Inline Renderer::Impl::doRender 2017-08-24 13:06:23 -07:00
John Firebaugh
d05486391a [core] Remove unnecessary members from UpdateParameters 2017-08-24 13:06:23 -07:00
John Firebaugh
079ddfc8e4 [core] Create BackendScopes in Renderer, assert in Impl
This avoids a long series of reset() calls in the Impl.
2017-08-24 13:06:23 -07:00
John Firebaugh
ad70cd30ef [core] Inline RenderItem and RenderData 2017-08-24 13:06:23 -07:00
John Firebaugh
47ac22b6ac [core] Merge RenderStyle into Renderer::Impl 2017-08-24 13:06:23 -07:00
John Firebaugh
d4cb498d7a [all] Merge View into RendererBackend 2017-07-26 09:50:38 -07:00
Ivo van Dongen
27343c6a75 [core] fix backend scope handling on render, cleanup and lowmemory
- Make renderer frontend responsible for creating a BackendScope on render
- encapsulate backend scope handling on cleanup and low memory in renderer impl
2017-07-25 17:44:28 +03:00
John Firebaugh
64203ba53f [core] Refactor Painter away 2017-07-19 09:31:07 -07:00
Ivo van Dongen
46c43510d7 [core] rename backend to renderer backend 2017-07-18 10:45:12 +02:00
Ivo van Dongen
3832f8d0d8 [core] renderer interface 2017-07-18 10:45:12 +02:00