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
2018-03-31Undo: unified undo system w/ linear historyCampbell Barton
- Use a single undo history for all operations. - UndoType's are registered and poll the context to check if they should be used when performing an undo push. - Mode switching is used to ensure the state is correct before undo data is restored. - Some undo types accumulate changes (image & text editing) others store the state multiple times (with de-duplication). This is supported by checking UndoStack.mode `ACCUMULATE` / `STORE`. - Each undo step stores ID datablocks they use with utilities to help manage restoring correct ID's. Needed since global undo is now mixed with other modes undo. - Currently performs each undo step when going up/down history Previously this wasn't done, making history fail in some cases. This can be optimized to skip some combinations of undo steps. grease-pencil is an exception which has not been updated since it integrates undo into the draw-session. See D3113
2018-03-30BLF: Use Batch API instead of IMM.Clément Foucault
This is not a perfect win just yet. It's now calling glBufferSubData for every call (instead of using glMapBufferRange which is almost faster), but with this system we will be able to batch drawcalls together. See next commit.
2018-03-30C Logging: use instead of printf for messagesCampbell Barton
- See `--log` help message for usage. - Supports enabling categories. - Color severity. - Optionally logs to a file. - Currently use to replace printf calls in wm module. See D3120 for details.
2018-03-29Merge commit 'origin/master^' into blender2.8Dalai Felinto
2018-03-27Fix T54435: Quit prompt fails w/ fractional scaleCampbell Barton
2018-03-26Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-26BLF: Don't use user preferencesSergey Sharybin
BLF is a low level module, which might (and is) used without Blender. Thanks Campbell for review!
2018-03-25GPUFramebuffer: Refactor (Part 2)Clément Foucault
This refactor modernise the use of framebuffers. It also touches a lot of files so breaking down changes we have: - GPUTexture: Allow textures to be attached to more than one GPUFrameBuffer. This allows to create and configure more FBO without the need to attach and detach texture at drawing time. - GPUFrameBuffer: The wrapper starts to mimic opengl a bit closer. This allows to configure the framebuffer inside a context other than the one that will be rendering the framebuffer. We do the actual configuration when binding the FBO. We also Keep track of config validity and save drawbuffers state in the FBO. We remove the different bind/unbind functions. These make little sense now that we have separate contexts. - DRWFrameBuffer: We replace DRW_framebuffer functions by GPU_framebuffer ones to avoid another layer of abstraction. We move the DRW convenience functions to GPUFramebuffer instead and even add new ones. The MACRO GPU_framebuffer_ensure_config is pretty much all you need to create and config a GPUFramebuffer. - DRWTexture: Due to the removal of DRWFrameBuffer, we needed to create functions to create textures for thoses framebuffers. Pool textures are now using default texture parameters for the texture type asked. - DRWManager: Make sure no framebuffer object is bound when doing cache filling. - GPUViewport: Add new color_only_fb and depth_only_fb along with FB API usage update. This let draw engines render to color/depth only target and without the need to attach/detach textures. - WM_window: Assert when a framebuffer is bound when changing context. This balance the fact we are not track ogl context inside GPUFramebuffer. - Eevee, Clay, Mode engines: Update to new API. This comes with a lot of code simplification. This also come with some cleanups in some engine codes.
2018-03-25GPUTexture: Small refactor.Clément Foucault
This includes a few modification: - The biggest one is call glActiveTexture before doing any call to glBindTexture for rendering purpose (uniform value depends on it). This is also better to know what's going on when rendering UI. So if there is missing UI elements because of this commit look for this first. This allows us to have "less calls" to glActiveTexture (I did not measure the final count) and less checks inside GPU_texture. - Remove use of GL_TEXTURE0 as a uniform value in a few places. - Be more strict and use BLI_assert for bad usage of GPU_texture functions. - Disable filtering for integer and stencil textures (not supported by OGL specs). - Replace bools inside GPUTexture by a bitflag supporting more options to identify texture types.
2018-03-23UI: restore quit confirmation when dialog disabledCampbell Barton
2018-03-23Merge branch 'master' into blender2.8Campbell Barton
2018-03-23Fix issues with confirmation prompt on WindowsJulian Eisel
* Pressing "OK" wouldn't close Blender anymore * Using File -> Quit would use popup version, not OS native window Cleaned up code a bit to avoid duplicated logic.
2018-03-23Fix own mistake from 4cb4556fa5ba78ffJulian Eisel
Trying to close Blender from a second window wouldn't work, the first window would have to be hovered first. Ouch!
2018-03-23Fix memory leaks when doing "Save & Quit"Julian Eisel
Steps to reproduce were: * Open Blender (no need for factory settings, "Promt Quit" needs to be enabled) * Edit the file (e.g. translate some object) * Quit Blender but don't skip quit promt * Press "Save & Quit" * Save the file Not sure if Windows supports the "Save & Quit" behavior, so this may not have applied to Windows.
2018-03-23Fix T48027: Memory leaks when exiting Blender from menuJulian Eisel
You only had to close Blender through File -> Quit. Leaks happened because WM_exit() was called from within operator, UI wasn't able to free some of it's heap data then. This data was the handler added in uiTemplateRunningJobs() and the IDProperty group added in uiItemFullO_ptr_ex(). There was obviously a general design issue which only became visible in this specific case. We now delay the WM_exit call by wrapping it into a handler that gets registered as usual. I didn't see a better way to do this, all tricks done in ui_apply_but_funcs_after() to prevent leaks didn't work here. In fact they may be redundant now, but am not brave enough to try ;)
2018-03-22Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-22UI: skip confirmation menu on quit prompt to saveCampbell Barton
2018-03-22GPUCompositing: Remove entire module.Clément Foucault
This module has no use now with the new DrawManager and DrawEngines and it is using deprecated paths. Moving gpu_shader_fullscreen_vert.glsl to draw/modes/shaders/common_fullscreen_vert.glsl
2018-03-21Merge branch 'master' into blender2.8Campbell Barton
2018-03-21UI: Optional prompt to quit for non win32 systemsCampbell Barton
D566 by @januz Use Blender native dialog when OS dialog's aren't supported.
2018-03-16Code cleanup: fix various compiler warnings on clang/macOS.Brecht Van Lommel
2018-03-14Fix T54322: partial redraw not working after recent refactor.Brecht Van Lommel
2018-03-13Merge branch 'master' into blender2.8Campbell Barton
2018-03-13Cleanup: doxygen commentsCampbell Barton
2018-03-13Fix T54302 - Wrong added scene when adding a scene strip to the SequencerJoshua Leung
When adding scene strips to the sequencer, the wrong scenes were getting getting added if some were skipped. For example: Given 4 scenes (A, B, C, D) if you're trying to add the last 3 scenes (B, C, D) as strips to the first scene (A), it would ended up adding "A, B, C" instead of "B, C, D" as expected. Fix provided by Andrew (signal9).
2018-03-12Merge branch 'blender2.8' of git.blender.org:blender into blender2.8Gaia Clary
2018-03-12Merge remote-tracking branch 'origin' into blender2.8Gaia Clary
2018-03-12GPUMaterial: Add Material shader cache.Clément Foucault
This is mostly to avoid re-compilation when using undo/redo operators. This also has the benefit to reuse the same GPUShader for multiple materials using the same nodetree configuration. The cache stores GPUPasses that already contains the shader code and a hash to test for matches. We use refcounts to know when a GPUPass is not used anymore. I had to move the GPUInput list from GPUPass to GPUMaterial because it's containing references to the material nodetree and cannot be reused. A garbage collection is hardcoded to run every 60 seconds to free every unused GPUPass.
2018-03-11Fix T54274, and rename option --window-borderless to --window-fullscreenArto Kitula
2018-03-08Make sure that the WM_opengl_context_create is always called on the main threadGermano
Avoid the error 170 ("The requested resource is in use").
2018-03-07Proper fix for User Preferences window crashJulian Eisel
Reverts rBb9ae517794765d6a1660 and fixes the issue properly. Old fix could cause NULL to be passed to functions that expect all arguments to be non-NULL.
2018-03-06DRW: Shader Deferred compilation: Use a wmJob for threading.Clément Foucault
Also get rid of the static var and initialization. This enables the user to see the progress on the info header. Closing blender or reading a file also kill the job which is good. Unfortunatly, this job cannot be interrupt by users directly. We could make it interruptible but we need a way to resume the compilation.
2018-03-02Merge branch 'master' into blender2.8Campbell Barton
2018-03-02Cleanup: rename 'screen_changed_update'Campbell Barton
Match 'workspace_change_update'.
2018-03-02WorksSpace: sync object-modes when changing sceneCampbell Barton
Note that this code will likely be generalized, currently each new case is a little different though so it's too early to move them into general functions.
2018-03-02Fix building w/o PythonCampbell Barton
Also minor cleanup.
2018-03-02Cleanup: remove printCampbell Barton
2018-02-28Merge branch 'master' into blender2.8Brecht Van Lommel
2018-02-28Radial control: Skip operator properties from being savedSergey Sharybin
This solves issue with tweaking brush size when interleaving particle edit and texture paint modes. The issue was caused by texture paing setting more operator properties then it's done for particle edit mode, which made window manager to use saved proeprties for the "missing" ones. Don't see any reason why we would want to save any of those properties. This is a regression since rB83b60dac57a1.
2018-02-28WorkSpace: UI filtering for add-onsCampbell Barton
Allows for each workspace to have it's own add-ons on display. Filtering for: Panels, Menus, Keymaps & Manipulators. Automatically applies to add-ons at the moment. Access from workspace, toggled off by default once enabled, add-ons can be white-listed. See D3076
2018-02-27Merge branch 'master' into blender2.8Campbell Barton
2018-02-27Fix T54106: Save blend ignores 'check_existing'Campbell Barton
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-02-25Manipulator: rename is_visible -> pollCampbell Barton
Rename to WM_manipulator_group_type_poll, use convention of other poll functions.
2018-02-23Merge branch 'master' into blender2.8Campbell Barton
2018-02-23WM: Add WM_menutype_poll functionCampbell Barton
Wraps menutype poll, no functional changes.
2018-02-23Merge branch 'master' into blender2.8Campbell Barton
2018-02-23WM: add WM_keymap_poll functionCampbell Barton
Wrapps keymap poll, no functional changes.
2018-02-22WM: Make sure that immediate mode is active before deactivate itGermano