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-08-30GPUFrameBuffer: GL backend isolationClément Foucault
This is related to the Vulkan port T68990. This is a full cleanup of the Framebuffer module and a separation of OpenGL related functions. There is some changes with how the default framebuffers are handled. Now the default framebuffers are individually wrapped inside special GLFrameBuffers. This make it easier to keep track of the currently bound framebuffer state and have some specificity for operations on these framebuffers. Another change is dropping the optimisation of only configuring the changed attachements during framebuffers update. This does not give any benefits and add some complexity to the code. This might be brought back if it has a performance impact on some systems. This also adds support for naming framebuffers but it is currently not used.
2020-08-28IDTypeInfo: add .blend file io callbacksJacques Lucke
This is part of T76372. It adds the `blend_write`, `blend_read_data`, `blend_read_lib` and `blend_read_expand` which correspond to the various steps when reading and writing .blend files. Having these callbacks allows us to decentralize the blenloader code a lot more. This has the affect that code related to any specific ID type is less scattered. Reviewers: mont29 Differential Revision: https://developer.blender.org/D8670
2020-08-26Cleanup: better naming and no bad level access in BLI_winstuffBrecht Van Lommel
2020-08-23Cleanup: GPU: Use explicit clear value in GPU_clear* commandsClément Foucault
This replace `GPU_clear()` by `GPU_clear_color()` and `GPU_clear_depth()`. Since we always set the clear value before clearing, it is unecessary to track the clear color state. Moreover, it makes it clearer what we clear the framebuffer to.
2020-08-23Fix T80028: Crash opening a file from a timerCampbell Barton
2020-08-21Cleanup: split `BKE_scene_get_depsgraph()` into two functionsSybren A. Stüvel
Split the depsgraph allocation into a separate function `BKE_scene_ensure_depsgraph()`. Parameters are only passed to those functions that actually need them. This removes the the "if that boolean is `false` this pointer is allowed to be `NULL`" logic and more cleanly decouples code. No functional changes.
2020-08-20Selection: Fix lasso selection invisibleClément Foucault
2020-08-20GPU: Fix some more remaining GL enums scattered outside of GL moduleClément Foucault
This fixes an assert inside the lasso selection drawing.
2020-08-18Cleanup: GPUState: Remove GPU_state_init()Clément Foucault
2020-08-18Cleanup: GPUState: remove double GPU_blend callsClément Foucault
2020-08-18GPUState: GPU_blend final API renamingClément Foucault
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation.
2020-08-18Cleanup: GPUState: remove use of GPU_blend_set_funcClément Foucault
2020-08-18Cleanup: GPUState: Replace blend func separate by enumClément Foucault
2020-08-18Cleanup: GPU: Move towards an explicit Blend stateClément Foucault
This make use of the GLStateStack functions for: - `GPU_blend()` - `GPU_blend_set_func()` - `GPU_blend_set_func_separate()` The goal is to unify them using an explicit state setting. This will remove the need to use obscure blend functions
2020-08-18Depsgraph: simplify build APIJacques Lucke
Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8611
2020-08-18Cleanup: remove bmain argument from BKE_scene_graph_update_for_newframeJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8613
2020-08-18Fix T77564: VSE (and compositor background) lost stereoscopy previewClément Foucault
Issue introduced on fe045b2b77dc6d7f0b552619fe824b496d34db6c. Since the stereoscopy compositing (anaglyph, ...) is only done for viewports the VSE preview and compositor need to use viewports. Reviewed by: dfelinto Differential Revision: https://developer.blender.org/D8472
2020-08-17Cleanup: split BPY_run_string_ex into two functionsCampbell Barton
Using a boolean to select between eval/exec behavior wasn't very readable.
2020-08-17Cleanup: move Python script execution into BPY_extern_run.hCampbell Barton
This commit renames 'execute' to 'run' because: - This follows Python's "PyRun" which these functions wrap. - Execution functions can use either exec/eval modes, making naming awkward (for future API refactoring).
2020-08-17Cleanup: split BPY_extern_python into it's own headerCampbell Barton
Currently BPY_extern.h includes too much mixed functionality.
2020-08-16Merge branch 'blender-v2.90-release' into masterCampbell Barton
2020-08-16Fix popups opening in the wrong direction over headersCampbell Barton
Checks for header alignment didn't account for tool-header & header having different alignment. There is no reason to use a lookup function on the area (ED_area_header_alignment) as we already have region. Check the regions alignment directly, remove access functions.
2020-08-13Cleanup: GPU: Remove Batch vao cache resetClément Foucault
This is done at drawtime automatically.
2020-08-11Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-11Fix T79640: "Assign Shortcut" doesn't work for "View 2D Zoom"Philipp Oeser
'VIEW2D_OT' operators were not respected in WM_keymap_guess_opname(). This was seemingly done on purpose (see comment "Op types purposely skipped for now"), but dont really see the reason for doing so. Since the "View2D" keymap is not bound to a specific spacetype, we can still find it using WM_keymap_find_all() [and passing 0 as spacetype]. Reviewers: Severin Subscribers:
2020-08-11Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-11Timers: set first window as context in timerJacques Lucke
This avoids some crashes when running Python code in timers. Reviewers: brecht Differential Revision: https://developer.blender.org/D8531
2020-08-10Merge branch 'blender-v2.90-release'Julian Eisel
2020-08-10Fix T79324: Crash when changing View Layer while VR session runsJulian Eisel
Proper handling of View Layers for the VR session was never implemented. Now the View Layer of the VR session follows the window the session was started in. Note that if this window is closed, we fallback to another window. This is done to avoid the overhead it would take to maintain a separate depsgraph for the VR view. Instead we always share some already visible View Layer (and hence the depsgraph).
2020-08-08GPUBackend: Add new GPUBackend object to manage GL object allocationsClément Foucault
This just set a global object responsible for allocating new objects in a thread safe way without needing any GPUContext bound to this thread. This also introduce the GLContext which will contain all the GL related functions for the current context. # Conflicts: # source/blender/gpu/intern/gpu_context.cc
2020-08-08GPU: Move ghost default framebuffer getter to context creationClément Foucault
2020-08-07Fix T79571: "Assign Shortcut" doesn't work for "Clear Keyframes"Julian Eisel
In the 3D View, the "Animation" keymap is not used, but the mode specific ones. So the shortcut editing code should use these too, just like the default keymap does.
2020-08-07Cleanup: pass arrays const where possibleCampbell Barton
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-08-07Cleanup: Blenlib, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenlib` module. Not all warnings are addressed in this commit. No functional changes.
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-05Merge branch 'blender-v2.90-release'Jeroen Bakker
2020-08-05Fix T77346: GPU Workaround Always Render Using Main ContextJeroen Bakker
In Blender 2.90 EEVEE materials were refactored that introduced crashes on Intel GPUs on Windows. The crash happened in the `local_context_workaround` that temporary stored compiled materials in a binary form to reload it in the main GL context. It has been tested that the workaround isn't needed anymore for HD6xx GPUs, but it is still needed for HD4000. After several unsuccesfull fixes we came to the conclusion that we could not support the local context workaround and needed to come with a different workaround. The idea of this patch is that in these cases there is only a single context that is used for rendering. Threads that uses these contextes are guarded by a mutex and will block. Impact on User Level: * Due to main mutex lock the UI freezes when rendering or baking or feel less snappy Reviewed By: Clément Foucault, Brecht van Lommel Differential Revision: https://developer.blender.org/D8410
2020-08-04Sculpt: Split Box Mask into its own operatorPablo Dobarro
Box mask is not a selection, so it should not be part of the select operator. This allows to add more sculpt mode specific functionality and properties and to share more code with the lasso mask operator in a later refactor. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8456
2020-08-04Cleanup: unused main argumentCampbell Barton
2020-08-01Cleanup: use term init instead of initialize/initialiseCampbell Barton
The abbreviation 'init' is brief, unambiguous and already used in thousands of places, also initialize is often accidentally written with British spelling.
2020-07-30Cleanup: GPU: Remove GPU_draw.h and move fluid gpu function to DRWClément Foucault
2020-07-30Cleanup: Split gpu_texture_image.c into BKE and IMB modulesClément Foucault
This is in order to disolve GPU_draw.h into more meaningful code blocks. All the Image related function are in `image_gpu.c`. All the MovieClip related function are in `movieclip.c`. The IMB module now has a connection with GPU. This is not strickly necessary and the code could be move to `image_gpu.c` if needed. The Image garbage collection is also ported to `image_gpu.c`.
2020-07-29GPU: Refactor gpu_texture_image to not use GL callsClément Foucault
This is also a bit of code cleanup, reorganisation. Tried to be DRYed but avoid too much code change to (hopefully) minimize breakage. - GPU: remove TEXTARGET_CUBE_MAP, this is no longer used in the codebase. - GPUTexture: Move compressed texture upload to gpu_texture.cc - GPUTexture: Add per texture Anisotropic filtering switch
2020-07-26Cleanup: GPU: Remove glew headers part2Clément Foucault
2020-07-26GPU: Remove GL constant from BIF_glutilClément Foucault
2020-07-24Allocator: make leak detection work with static variablesJacques Lucke
When definining static variables that own memory, you should use the "construct on first use" idiom. Otherwise, you'll get a warning when Blender exits. More details are provided in D8354. Differential Revision: https://developer.blender.org/D8354
2020-07-23LibOverride: Add update of overrides when reloading library data.Bastien Montagne
Pretty straight-forward, although it does not rebuild relationships (this is a heavy process we do not want to automate for now, will be a separate operator in near future). Fix T78179: Library Overrides - Additional geometry not updating without reloading scene.
2020-07-23Fix (unreported) crash in reload library code related to shpaekeys.Bastien Montagne
Once again, we need lots of unatural twisting and convolutions to get those nasty things to work... Note that in previous versions of Blender, this would not crash, but was still broken (shapekeys were never actually reloaded from libraries).