Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [core] Remove re-linking programs approach (#14482) | Aleksandar Stojiljkovic | 2019-05-20 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | Remove re-linking programs as redundant. It costs (cheaper to link once than twice) and (subjective) is not that common GL API usage pattern, although perfectly legal and permitted. Initial idea, behind the removed code, was to enable work on optimization that would reduce number of attrib setup calls in case when VAO is not available (as described in #9433). As such optimization is not implemented, and it is arguable if it makes sense to do it now, we can remove re-linking. Related to closed PRs #9433 and PR #11583. I have [measured the time spent just on relinking](https://gist.github.com/astojilj/29bd5a5c5dc0b2d9f29ecb660da07fbf) using release build on iPhone SE (A9, same as iPhone 6S): - 1st run after reboot or installation Total 37.14ms, average per program:1.86ms - reopening Total: 2.47ms, average per program: 0.12ms This time we save using the patch here. | ||||
* | [core] add gfx::UploadPass, split startRender into prepare and upload | Konstantin Käfer | 2019-05-15 | 1 | -11/+6 |
| | |||||
* | [core] change approach to stencil clipping to (almost) match JS | Konstantin Käfer | 2019-04-29 | 1 | -0/+2 |
| | |||||
* | [core] move depth/stencil buffer debug viz to gfx::Context | Konstantin Käfer | 2019-04-05 | 1 | -0/+6 |
| | |||||
* | [core] remove Renderer::flush | Konstantin Käfer | 2019-04-05 | 1 | -5/+0 |
| | |||||
* | [core] refactor RendererBackend | Konstantin Käfer | 2019-04-05 | 1 | -1/+3 |
| | |||||
* | [core] add gfx::Renderable and gfx::OffscreenTexture | Konstantin Käfer | 2019-04-05 | 1 | -0/+7 |
| | |||||
* | [core] add getResource template to gfx::*Resource classes | Konstantin Käfer | 2019-04-05 | 1 | -6/+6 |
| | |||||
* | [core] introduce CommandEncoder object | Konstantin Käfer | 2019-04-05 | 1 | -0/+2 |
| | |||||
* | [core] move supportsHalfFloatTextures to gfx::Context | Konstantin Käfer | 2019-04-05 | 1 | -2/+0 |
| | |||||
* | [core] add generic base class for renderbuffers | Konstantin Käfer | 2019-04-05 | 1 | -16/+7 |
| | |||||
* | [core] gl::RenderbufferType -> gfx::RenderbufferPixelType | Konstantin Käfer | 2019-04-05 | 1 | -10/+10 |
| | |||||
* | add onStyleImageMissing to allow dynamically loaded or generated images (#14253) | Ansis Brammanis | 2019-04-02 | 1 | -0/+1 |
| | | | Also make `Style#updateImage(...)` much faster when the image doesn't change size. This can be useful for asynchronously generating images. | ||||
* | [core] Disable binary programs until we fix #14294 | Thiago Marcos P. Santos | 2019-04-02 | 1 | -1/+1 |
| | |||||
* | [core] Expose a way of flushing the graphics pipeline | Thiago Marcos P. Santos | 2019-03-20 | 1 | -0/+5 |
| | | | | | Useful for apps before going to background that are restricted by the OS of performing any operation. | ||||
* | [core] move cleanup to gfx::Context | Konstantin Käfer | 2019-03-20 | 1 | -1/+1 |
| | |||||
* | [core] move ProgramMap to within the gl::Program object | Konstantin Käfer | 2019-03-20 | 1 | -1/+1 |
| | |||||
* | [core] expose vertex binding count in gfx::Context | Konstantin Käfer | 2019-03-20 | 1 | -3/+1 |
| | |||||
* | Merge pull request #14126 from mapbox/gfx-refactor-4 | Konstantin Käfer | 2019-03-15 | 1 | -8/+4 |
| | | | Graphics refactor #4 | ||||
* | [core] add texture bindings to draw call instead of Context member fn | Konstantin Käfer | 2019-03-12 | 1 | -9/+2 |
| | |||||
* | [core] move Texture to the gfx namespace | Konstantin Käfer | 2019-03-12 | 1 | -41/+14 |
| | |||||
* | [core] move Texture related enums to gfx namespace | Konstantin Käfer | 2019-03-12 | 1 | -18/+18 |
| | |||||
* | [core] introduce gfx::Context and move Buffer creation/update methods to it | Konstantin Käfer | 2019-03-06 | 1 | -38/+8 |
| | |||||
* | [core] move BufferUsage enum to gfx namespace | Konstantin Käfer | 2019-03-06 | 1 | -4/+4 |
| | |||||
* | [core] move VertexBuffer<> to gfx namespace | Konstantin Käfer | 2019-03-06 | 1 | -7/+7 |
| | |||||
* | [core] move IndexBuffer to gfx namespace | Konstantin Käfer | 2019-03-06 | 1 | -7/+7 |
| | |||||
* | [core] unify *Buffer/Vector naming | Konstantin Käfer | 2019-03-06 | 1 | -8/+8 |
| | |||||
* | [core] remove unused template parameter from gl::IndexBuffer | Konstantin Käfer | 2019-03-06 | 1 | -3/+3 |
| | |||||
* | [core] move VertexVector/IndexVector to gfx namespace | Konstantin Käfer | 2019-03-06 | 1 | -4/+6 |
| | |||||
* | [core] move CullFaceMode to gfx namespace | Konstantin Käfer | 2019-03-01 | 1 | -2/+2 |
| | |||||
* | [core] move StencilMode to gfx namespace | Konstantin Käfer | 2019-03-01 | 1 | -2/+2 |
| | |||||
* | [core] move DepthMode to gfx namespace | Konstantin Käfer | 2019-03-01 | 1 | -2/+2 |
| | |||||
* | [core] move ColorMode to gfx namespace | Konstantin Käfer | 2019-03-01 | 1 | -2/+2 |
| | |||||
* | [core] move draw mode and primitives to gfx namespace | Konstantin Käfer | 2019-03-01 | 1 | -7/+7 |
| | |||||
* | [core] remove DrawMode from VertexVector/Buffer | Konstantin Käfer | 2019-02-25 | 1 | -5/+5 |
| | |||||
* | [core] Switch to the new OpenGL abstraction | Thiago Marcos P. Santos | 2019-02-12 | 1 | -0/+1 |
| | | | | | | 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. | ||||
* | [core] Refactor vertex array object extension initialization | Ander Conselvan de Oliveira | 2018-09-14 | 1 | -6/+1 |
| | | | | | | | 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. | ||||
* | [core] Add face culling mode parameter to Program::draw | Bruno de Oliveira Abinader | 2018-09-13 | 1 | -0/+4 |
| | | | | | | 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. | ||||
* | Remove use of noncopyable in Context | Sudarsana Babu Nagineni | 2018-07-30 | 1 | -1/+3 |
| | |||||
* | [core] Don't crash when attribute count is exceeded | Konstantin Käfer | 2018-05-03 | 1 | -1/+3 |
| | |||||
* | [core, ios, macos, android, node] Heatmap layer (#11046) | Vladimir Agafonkin | 2018-02-15 | 1 | -8/+16 |
| | | | | | 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> | ||||
* | [core] Fix crash on Qt + Windows + ANGLE | Thiago Marcos P. Santos | 2017-11-24 | 1 | -1/+6 |
| | | | | Support for VAO extensions is broken. | ||||
* | [core] Cleanup in response to review comments. | Chris Loer | 2017-11-17 | 1 | -2/+2 |
| | |||||
* | [core] Enable dynamic updates of index buffers. | Chris Loer | 2017-11-17 | 1 | -3/+11 |
| | |||||
* | Revert "[core] Expose ColorMask in gl::Context::clear()" | Bruno de Oliveira Abinader | 2017-11-02 | 1 | -2/+1 |
| | | | | This reverts commit e350ef37fe68312c4b5fb03b289a90c0bdda4f03. | ||||
* | [core] Expose ColorMask in gl::Context::clear() | Bruno de Oliveira Abinader | 2017-11-01 | 1 | -1/+2 |
| | |||||
* | [core] allow context to be abandoned on destruction | Ivo van Dongen | 2017-09-22 | 1 | -0/+6 |
| | | | | - This enables the use case where the system already destroyed the underlying GL resources. Otherwise, the cleanup would fail and crash | ||||
* | [core] Rename for clarity: ActiveTexture → ActiveTextureUnit | John Firebaugh | 2017-09-11 | 1 | -1/+1 |
| | |||||
* | [all] Merge View into RendererBackend | John Firebaugh | 2017-07-26 | 1 | -3/+0 |
| | |||||
* | [core] Rework attribute binding (again) | John Firebaugh | 2017-07-12 | 1 | -5/+7 |
| | | | | | | | | | | These changes are necessary for programs whose set of active attributes is not fixed at compile time by a template parameter pack, but rather varies based on the generated shader text at runtime. In such cases, the attribute location of a given named attribute may vary between instances of the same Program. Previously, attribute bindings were implicitly associated with a location based on template parameter order, and -1 was used to indicate an inactive attribute. This left us unable to disable the appropriate attribute when it went from active to inactive. Now, the state tracker for bindings explicitly associates locations and state, and an empty optional is used to indicate an inactive attribute. In addition, a gl::VertexArray class is now exposed, allowing more flexibility in the relationship between Programs, Segments, and attribute bindings. In this commit, that relationship does not change, but the subsequent commit adjusts it to match gl-js, reduce rebinds, and work around buggy VAO implementations. VertexArray uses a pimpl idiom in order to support implementations that lack the VAO extension. In that case, all VertexArrays share global binding state, reflecting the platform reality in the absence of VAOs, while still providing a uniform API. |