Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-01Cleanup: Use GPUBatch for icon and area drawingClément Foucault
This is in order to remove GPU_draw_primitive to streamline the drawing abstraction.
2020-08-18GPUShader: GL backend isolationClément Foucault
2020-08-13Cleanup: GPU: Remove Batch vao cache resetClément Foucault
This is done at drawtime automatically.
2020-08-07Cleanup: GPU, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/gpu` module. No functional changes.
2020-08-06Cleanup: Stop accessing gpu_batch_presets_reset()Dalai Felinto
The current code is accessing this from outside the gpu "namespace". As such it should be accessing GPU_ functions, not gpu_ functions. This is also a place to centralize the XXX message that will be addressed upon refactor. So we can reuse this call in other places that need the same temporary workaround. Groundwork for upcoming fix (D8472)
2020-04-07Cleanup: use doxy sectionsCampbell Barton
2020-04-07Revert "Fix memory leak in recent panel drag widget cache"Campbell Barton
This reverts commit 58e20b432a2bd7fbff7ebb7aa1f49a6662dc6e7c. Was calling discard twice, tsk. Although for some reason it did quiet the leak. Reverting because this is causing a crash.
2020-04-07Fix memory leak in recent panel drag widget cacheCampbell Barton
Memory leak from 60d873bd22121.
2020-04-07GPUBatch: Correctly Free Panel Widget BatchJeroen Bakker
The GPU Batch for the panel drag widget wasn't freed anywhere. This patch will free the GPUBatch.
2020-04-06GPU: Panel Drag Widget Drawing PerformanceJeroen Bakker
The 10g Intel/Win driver doesn't work well with our emulated intermediate mode. This patch alters the drawing of the drag widget of the panels to reduce unneeded drawing. The previous method would draw 16 boxes per widget. This new way would cache this drawing in a GPU batch and just move the matrix around. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7345
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2018-11-13GPU: Fix crash at startupClément Foucault
2018-11-12Fix T57571: Blender crashes on UV transformationClément Foucault
That was caused by a thread safety issue on gpu_batch_presets_unregister() which was not designed to be used for this kind of situation (managing 3D meshes batches).
2018-09-11GPU: utility function to unregister presetsCampbell Barton
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-15Cleanup: split GPU_batchCampbell Barton
Split out presets and utilities for creating batches. These functions are quite specialized and not related to typical usage.
2018-07-08Cleanup: rename 'ct' to 'len' for gawainCampbell Barton
2018-04-05GPUBatch: Change preset managment system.Clément Foucault
Now use a list of preset batches with a function to add new ones to this list. This removes the need of new functions all over the place to reset/exit.
2018-03-29Cleanup: Use uppercase UI_ prefix for external functionsJulian Eisel
Using uppercase prefixes is our convention for external functions. "External" as in functions exposed to the outside of interface/ directory.
2018-03-29UI: Perf: widgetbase: Replace imm usage by a batch cache.Clément Foucault
Introduce a UI batch cache. For the moment it's only used by widgetbase so leaving it interface_widgets.c. If it grows, it can have its own file. Like all preset batches (batches used by UI context), vaos must be refreshed each time a new window context is binded. This still does 3 GWN_batch_draw in the worst cases but at least it does not use the IMM api. I will continue and batch the 3 calls together since we are really CPU bound, so shader complexity does not really matters. I cannot spot any difference on all the widgets I could test. I did not use any unit tests so I cannot tell if there is really any defects. This is not a complete rewrite but it adresses the top bottleneck found after a profilling session.
2018-03-16Code cleanup: fix various compiler warnings on clang/macOS.Brecht Van Lommel
2018-02-26WM/GPU: Clear VAO cache of batch preset when switching context.Clément Foucault
This is needed for multiple windows to draw the batch presets. This will not be needed once we use only one context for UI.
2018-02-26DRW: Add new Draw Manager OpenGL Context.Clément Foucault
This separate context allows two things: - It allows viewports in multi-windows configuration. - F12 render can use this context in a separate thread and do a non-blocking render. The downside is that the context cannot be used while rendering so a request to refresh a viewport will lock the UI. This is something that will be adressed in the future. Under the hood what does that mean: - Not adding more mess with VAOs management in gawain. - Doing depth only draw for operators / selection needs to be done in an offscreen buffer. - The 3D cursor "autodis" operator is still reading the backbuffer so we need to copy the result to it. - All FBOs needed by the drawmanager must to be created/destroyed with its context active. - We cannot use batches created for UI in the DRW context and vice-versa. There is a clear separation of resources that enables the use of safe multi-threading.
2018-01-15GPU_batch_presets: move static vars into structCampbell Barton
Also use GWN raw stepping API to fill in data.