Konstantin Käfer
3a6ff7710f
[core] add gfx::UploadPass, split startRender into prepare and upload
2019-05-15 11:57:43 -07:00
Konstantin Käfer
08163713e2
[core] change approach to stencil clipping to (almost) match JS
2019-04-29 11:37:39 +02:00
Konstantin Käfer
e95bf4dd9b
[ios] run glFlush when reducing memory and don't reduce memory while in background ( #14383 )
2019-04-11 09:57:35 -04:00
Konstantin Käfer
7081d5e154
[core] move depth/stencil buffer debug viz to gfx::Context
2019-04-05 11:49:17 +02:00
Konstantin Käfer
1d58850d0c
[core] remove Renderer::flush
2019-04-05 11:49:17 +02:00
Konstantin Käfer
66c020034e
[core] refactor RendererBackend
2019-04-05 11:49:17 +02:00
Konstantin Käfer
865f8a6c03
[core] add gfx::Renderable and gfx::OffscreenTexture
2019-04-05 11:49:17 +02:00
Konstantin Käfer
ebd8508032
[core] add getResource template to gfx::*Resource classes
2019-04-05 11:49:17 +02:00
Konstantin Käfer
c02010ab6c
[core] move debug groups to gfx::CommandEncoder
2019-04-05 11:49:17 +02:00
Konstantin Käfer
543b678982
[core] introduce CommandEncoder object
2019-04-05 11:49:17 +02:00
Konstantin Käfer
be3b5917c1
[core] add generic base class for renderbuffers
2019-04-05 11:49:17 +02:00
Konstantin Käfer
839f4687aa
[core] gl::RenderbufferType -> gfx::RenderbufferPixelType
2019-04-05 11:49:17 +02:00
Ansis Brammanis
2455275bf4
add onStyleImageMissing to allow dynamically loaded or generated images ( #14253 )
...
Also make `Style#updateImage(...)` much faster when the image doesn't change size. This can be useful for asynchronously generating images.
2019-04-02 12:57:45 -04:00
Thiago Marcos P. Santos
3122df7e50
[core] Expose a way of flushing the graphics pipeline
...
Useful for apps before going to background that are
restricted by the OS of performing any operation.
2019-03-20 18:47:15 +02:00
Konstantin Käfer
f86cc81680
[core] move cleanup to gfx::Context
2019-03-20 15:40:47 +01:00
Konstantin Käfer
1e30fdac36
[core] move ProgramMap to within the gl::Program object
2019-03-20 15:40:47 +01:00
Konstantin Käfer
9ee1de575a
[core] expose vertex binding count in gfx::Context
2019-03-20 15:40:47 +01:00
Konstantin Käfer
c8cfdb1ced
Merge pull request #14126 from mapbox/gfx-refactor-4
...
Graphics refactor #4
2019-03-15 20:31:12 +01:00
Konstantin Käfer
e27f330629
[core] add texture bindings to draw call instead of Context member fn
2019-03-12 11:03:54 +01:00
Konstantin Käfer
a7f151ab48
[core] move Texture to the gfx namespace
2019-03-12 11:03:54 +01:00
Konstantin Käfer
2a25270298
[core] move Texture related enums to gfx namespace
2019-03-12 11:03:54 +01:00
Konstantin Käfer
8a8291d8f4
[core] introduce gfx::Context and move Buffer creation/update methods to it
2019-03-06 16:12:51 +01:00
Konstantin Käfer
ec42b2a5a4
[core] move BufferUsage enum to gfx namespace
2019-03-06 16:12:51 +01:00
Konstantin Käfer
458bb65510
[core] rename gl/*_buffer.hpp to gl/*_buffer_resource.hpp
2019-03-06 16:12:51 +01:00
Konstantin Käfer
3a57aa65d7
[core] move VertexBuffer<> to gfx namespace
2019-03-06 16:12:51 +01:00
Konstantin Käfer
4737a45383
[core] move IndexBuffer to gfx namespace
2019-03-06 16:12:51 +01:00
Konstantin Käfer
2f646af255
[core] make vertex descriptors constexpr
2019-03-06 16:12:51 +01:00
Konstantin Käfer
67a9dc35bf
[core] move CullFaceMode to gfx namespace
2019-03-01 09:33:37 +01:00
Konstantin Käfer
4372ce2b90
[core] move StencilMode to gfx namespace
2019-03-01 09:33:37 +01:00
Konstantin Käfer
4982933a78
[core] move DepthMode to gfx namespace
2019-03-01 09:33:37 +01:00
Konstantin Käfer
fde7c20f36
[core] move GL enum conversions to separate file
2019-03-01 09:33:37 +01:00
Konstantin Käfer
da6e1390c6
[core] move ColorMode to gfx namespace
2019-03-01 09:33:37 +01:00
Konstantin Käfer
fd37d90650
[core] move draw mode and primitives to gfx namespace
2019-03-01 09:33:37 +01:00
Thiago Marcos P. Santos
690833ef92
[core] Switch to the new OpenGL abstraction
...
This patch will make Mapbox GL Core never use OpenGL
directly. We should consider locking into OpenGL ES 2.0
to simplify the code path and remove #ifdefs.
2019-02-12 19:42:08 +02:00
Ander Conselvan de Oliveira
f49a9ca1de
[core] Don't log GL renderer string on every context initialization
...
Commit 1c53dc9ca8 ([core] Refactor vertex array object extension
initialization) changed where the GL renderer string is checked in order
to prevent the vertex array extension initialization in certain
platforms and in doing so made the logging of that string more frequent,
once per context initialization instead of at most once per process.
This is a lot more verbose, specially when running unit tests, so make
sure that string is logged at most once as it was previously.
2018-09-21 09:45:35 +03:00
Ander Conselvan de Oliveira
68d463ec28
[core] Disable debugging extension when running on ANGLE over Direct3D
...
The ANGLE implementation of GL_KHR_debug on Direct3D seems to be broken
leading to a bad_alloc being thrown when running with a debug build, so
disable it in that platform.
2018-09-14 15:26:45 +03:00
Ander Conselvan de Oliveira
1c53dc9ca8
[core] Refactor vertex array object extension initialization
...
Currently the vertex object extension is disabled through an ifdef for
the Windows platform due to an issue with ANGLE, while there is a
blacklist for other platforms. Unify those by adding ANGLE to that
blacklist and some small refactoring.
2018-09-14 15:26:45 +03:00
Bruno de Oliveira Abinader
05a7b78aa8
[core] Add face culling mode parameter to Program::draw
...
Add a parameter to Program::draw to control whether face culling should
be enabled. This will be used in a follow up commit to enable face
culling for fill extrusion layers.
2018-09-13 08:42:36 +03:00
Konstantin Käfer
4067a61c80
[core] wrap glGetString in MBGL_CHECK_ERROR too
2018-05-24 11:19:59 +02:00
Konstantin Käfer
c3346f473a
[core] Don't crash when attribute count is exceeded
2018-05-03 16:31:43 -07:00
Ivo van Dongen
1f73c9999e
[core] blacklist vao usage on mali t720 (sapphire 650)
...
Avoids problems on (amongst others) Samsung Galaxy J3
2018-03-01 12:21:32 +01:00
Vladimir Agafonkin
82de856c94
[core, ios, macos, android, node] Heatmap layer ( #11046 )
...
Co-Authored-By: Konstantin Käfer <mail@kkaefer.com >
Co-Authored-By: Anand Thakker <anandthakker@users.noreply.github.com >
Co-Authored-By: Minh Nguyễn <1ec5@users.noreply.github.com >
2018-02-15 17:38:23 +02:00
Tobrun
e2a4dffcb6
[android] - blacklist adreno 2xx for VAO support
2018-01-31 12:58:22 +01:00
Konstantin Käfer
145a0ee6d0
[core] blacklist binary program loading for Vivante GC4000 GPUs
2018-01-09 09:55:05 -08:00
Chris Loer
9a5b2fdfc3
[core] Enable dynamic updates of index buffers.
2017-11-17 10:05:15 -08:00
Bruno de Oliveira Abinader
13ec2cc562
Revert "[core] Expose ColorMask in gl::Context::clear()"
...
This reverts commit e350ef37fe .
2017-11-02 15:14:37 +02:00
Bruno de Oliveira Abinader
e350ef37fe
[core] Expose ColorMask in gl::Context::clear()
2017-11-01 17:45:37 +02:00
Ivo van Dongen
45dc313009
[core] blacklist VAO usage on adreno 3xx
...
- Causes crashes on usage of glBuffer(Sub)Data
2017-10-26 12:00:11 +02:00
Ivo van Dongen
6211db6968
[core] allow context to be abandoned on destruction
...
- This enables the use case where the system already destroyed the underlying GL resources. Otherwise, the cleanup would fail and 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