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-18Depsgraph: simplify DEG_evaluate_* APIJacques Lucke
This mainly removes the bmain argument, which can be retrieved from the graph itself. Also, I removed some outdated/unnecessary comments. Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8614
2020-08-18Depsgraph: simplify build APIJacques Lucke
Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8611
2020-08-08Clenup: use STREQ macroCampbell Barton
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-06-01Cleanup: clang-formatCampbell Barton
2020-05-24Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-24Fix(unreported): Crash on prefetching while transforming strip.Richard Antalik
While investigating T76274, I found crash scenario when playhead is near end frame and moving a strip. It is not as easy to reproduce, about 5% success rate, and it will be even harder after rB4066c921fbe5. Exact cause wasn't identified yet. I wanted to disable prefetching during modal operator execution in VSE, but currently I don't have any signalling method in place. Checking for G.moving seems to resolve this problem, but it doesn't adress root cause of bug. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7820
2020-05-22Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-22Fix (unreported): prefetching wastes resources when end frame is reachedRichard Antalik
This bug is not really visible for user. When end frame is reached by prefetching thread, it doesn't stop and keeps on getting images from cache. Add chech for this situation and simplify logic involved in suspending, so it's easier to read. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7757
2020-05-22Fix (unreported): Don't restart prefetching during rendering.Richard Antalik
Prefetching is stopped in BKE_sequencer_cache_cleanup, but is restarted quickly. Prefetching has negative effect on performance while rendering. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7751
2020-05-13Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-13Fix T76320: Thread race condition on undo with prefetching enabledRichard Antalik
Stop prefetch jobs before undoing. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7633
2020-05-13Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-13Fix T70612: Sequencer Crash on enabling PrefetchRichard Antalik
Disable (skip) preftching scene strips if they target 3D scene. Try to continue prefetching complete frame if disk cache images are found. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7514
2020-05-01Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-01Fix T76033: VSE crash with prefetch, disk cache and meta stripsRichard Antalik
`BKE_sequencer_prefetch_get_original_sequence()` didn't look in metas and returned NULL. This caused crash in disk cache that was trying to read seq->name. Add function that will look in meta strips recursively and condition that seq must not be NULL. Reviewed By: brecht Maniphest Tasks: T76033 Differential Revision: https://developer.blender.org/D7597
2020-04-27Merge branch 'blender-v2.83-release'Richard Antalik
2020-04-27Fix T74346 VSE: Prefetching doesn't work properly with property animationsRichard Antalik
Make sure depsgraph was updated before evaluating the animation. Reviewed By: ISS Differential Revision: https://developer.blender.org/D7467
2020-04-16Cleanup: remove unused scene argumentCampbell Barton
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-01-27Cleanup: fix compiler warningsBrecht Van Lommel
2019-10-02Fix T69924: Prefetch stops when moving playheadRichard Antalik
Fix T70194: Prefetch freezes Blender in some cases - Initialize depsgraph in isolated bmain struct. - Fix prefetching range (forgot in initial prefetch commit). - Fix crash - Add check if prefetch job is initialized and running. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5899
2019-09-14VSE: quiet missing prototype warningsJacques Lucke
2019-09-14VSE: prefetchingRichard Antalik
When enabled prefetching(preview panel>view settings), a pernament running job is created, that will render frames in the background until the cache is full. If the cache is not filled fast enough, prefetch job suspends itself at the last moment and will wait until it has chance to "catch up". Effectively this will decouple rendering to separate thread, so rendering itself is a bit faster. Cache recycling behavior will be changed to "free furthest frame to the left of playhead if possible, otherwise rightmost frame". Reviewed By: brecht Differential Revision: https://developer.blender.org/D5386