Weekly Reports for year 2017

Week 265: 2nd - 8th January

Another week off in Russia.

Week 266: 9th - 15th January

  • General development
    • First week back from Russia. Monday was packing, Tuesday was a day in airports.
    • Investigated slow viewport update on dual-xeon 56 threads machine. Really need to reduce amount of mutex-locks for such configurations.
  • Cycles
    • Fixed wrong deformation motion blur with auto-smooth meshes (fixes agents' eye issue)
    • Optimized BVH for more optimal storage of motion curve primitives. Gave about 30% speedup in an agent-only hair scene.
    • Worked further on more optimal BVH for motion curve primitives. Gained some really nice speedups in the artifical scene (hair-only from agent). Real numbers will come shortly after re-rendering some shots to gain real-life statistics. Stay tuned!

Fixed: 0, Closed: 0.

Week 267: 16th - 22nd January

  • General development
    • Wrapped up and committed old patch from the studio for Nathan (Allow first clicking Shift before selecting axis of transform manipulator)
  • Cycles
    • Fixed wrong viewport rendering caused by -nan coordinates.
    • Wrapped up and committed olf patch for exposing diffuse and glossy depth to Light Path node
    • Finished motion blur patches from previous week, implemented similar speedup for triangles and moved everything to master branch.

Fixed: 0, Closed: 0.

Week 268: 23rd - 29th January

  • General development
    • Fixed crash with adaptive microdisplacement (caused by bug in OpenSubdiv)
    • Wrapped up some patches (AO approximation of indirect light mainly), worked on finishing other optimization patches (like speedup of transparent shadows on GPU).
    • Fixed bug in bug-o-meter.
  • Bug-tracker work
    • Fix T50517 Rendering expecting time is negative
    • Fix T50512 Linked Backround scene with animation not updating with new depsgraph
    • Fix T50032 Wrong render result when same image is used with and without alpha
  • Depsgraph
    • Fix duplicated operation node when two objects are sharing same armature

Fixed: 3, Closed: 6.

Week 268: 30th January - 5th February

  • General development
    • Explode modifier: Don't tessellate DM if we are not going to apply modifier
    • Buildbot: Re-enable cuda support for OSX
    • Spent quite some time looking into new deg issues, such as missing updates in special cases when viewing scene via sequencer.
  • Bug-tracker work
    • Fix T50331 New Dependency Graph - "frame" python driver expression not working
    • Fix T50535 Cycles render segfault when Explode modifier before hair particle modifier + UV material

Fixed: 3, Closed: 3.

Week 269: 6th - 12th February

  • General development
    • Fix memory leak when building without audaspace
    • Seed up displace modifier by multi-threading it
    • Optimized some parts of armature deform modifier
    • Fix missing hair after rendering with different viewport/render settings (was a regression since some other fix)
    • Speed up of color management in sequencer by multi-threading it
    • Fix non-deterministic behavior of image sequence loading via RNA API, causing Cycles to behave buggy
  • Bug-tracker work
    • Fix T49253 Cycles blackbody is wrong on AVX2 CPU on Windows
  • Cycles
    • Wrapped up and committed transparent shadows speedup for CUDA, giving 2x speedup on scene like koro.blend.
    • Fix pointiness attribute giving wrong results with autosplit
    • Initial work to cover Cycles nodes with OpenGL tests

Fixed: 1, Closed: 3.

Week 270: 13th - 19th February

  • General development
    • Lots of time spent on ensuring BKE_mesh_split_faces (used for auto-smooth) gives correct topology (used to return extra loose edges and vertices).
  • Bug-tracker work
    • Fix T50655 Pointiness is too slow to calculate
    • Fix T50542 Wrong metadata frame when using OpenGL render
    • Fix T50687 Cycles baking time estimate and progress bar doesn't work / progress when baking with high samples
  • Cycles
    • Fix wrong shading on GPU when background has NaN pixels and MIS enabled
    • Fix wrong transparent shadows with CUDA (regression in recent optimization)
    • Optimize sorting of transparent intersections on CUDA
    • Fix wrong pointiness caused by precision issues
    • Fix wrong hair render results when using BVH motion steps

Fixed: 3, Closed: 1.

Week 271: 20th - 26th February

  • General development
    • Quite some time was spent in the data center, recovering the development infrastructure machine and rewiring the rack.
  • Bug-tracker work
    • Fix T50719 Memory usage won't reset to zero while re-rendering on two video cards
    • Fix T50718 Regression: Split Normals Render Problem with Cycles
    • Fix T50748 Render Time incorrect when refreshing rendered preview in GPU mode
    • Fix T50656 Compositing node editor is empty, no nodes can be added
  • Cycles
    • Fix Cycles still saving render output when error happened
    • Fix wrong render results with texture limit and half-float textures
    • Fix non-zero exit status when rendering animation from CLI and running out of memory

Fixed: 4, Closed: 2.

Week 272: 27th February - 5th March

  • General development
    • Fix memory leak when making duplicates real and parent had constraints
    • Shrinkwrap constraint actually depends on geometry
    • Investigated how bad our task scheduler is, used TBB as reference. Appears that with TBB there is almost no speed regressions of new depsgraph in files like T50027.
    • Started working on improving our scheduler by simplifying the code.
  • Bug-tracker work
    • Fix T50634 Hair Primitive as Triangles + Hair shader with a texture = crash
    • Fix T50677 Shrinkwrap constraint don't get updated when target mesh gets modified
    • Fix T49936 Cycles point density get's it's bounding box from basis shape key
    • Fix T48549 Crash baking high-to-low-poly normal map in cycles
    • Fix T50565 Planar constraints don't work properly with non-Blender key configurations
  • Cycles
    • Fix division by zero in volume code which was producing -nan, producing render artifacts in the studio
    • Fixed untinialized variable in image texture loading (hopefully that was a reason of sometimes missing texture on the farm).

Fixed: 5, Closed: 4.

Week 273: 6th - 12th March

  • General development
    • Had party all week in the studio while Ton was away for the business trip
    • Worked on improvements for task scheduler. Mainly related on thread overhead. Gives 50% speedup with file from T50027 and makes new depsgraph only 10% slower on my machine with that scene.
    • The work from above also helped simplifying evaluation code in depsgrapgh
  • Bug-tracker work
    • Fix T50886 Blender crashes on render
    • Fix T49603 Blender/Cycles 2.78 CUDA error on Jetson-TX1~
    • Fix T50849 Transparent background produces artifacts in this compositing setup
  • Cycles
    • Spent quite some time reviewing work from Mai and Nirved prior putting it to master, including doing some performance comparisons for beautiful charts.

Fixed: 3, Closed: 3.

Week 274: 13th - 19th March

  • General development
    • Spend some time working on layer collections update via depsgraph. Dalai is finishing up that patch now.
  • Bug-tracker work
    • Fix T50938 Cache not being reset when changing simulation settings with new depsgraph
    • Fix T50968 Cycles crashes when image datablock points to a directory
  • Depsgraph
    • Fixed crash with curve bevel indirect dupligroups
  • Cycles
    • Some fixes to make Mesa OpenCL compiler more happy
    • Allow rendering a range of resumable chunks
    • Fixed compilation error of new OpenCL code on older drivers/cards
    • Tried to solve rendering artifacts on fglrx driver for gcn1 cards.
    • Fix compilation error of LCG RNG

Fixed: 2, Closed: 0.

Week 277: 20th - 26th March

  • General development
    • Spent quite some time hunting NaN pixels for the studio, was very tricky-to-reproduce issue =\
    • Spent some time discussing overrides with Dalai
  • Bug-tracker work
    • Fix T50990 Random black pixels in Cycles when rendering material with Multiscatter GGX
    • Fix T50975 Cycles: Light sampling threshold inadvertently clamps negative lamps
    • Fix T50268 Cycles allows to select un supported GPUs for OpenCL
    • Fix T50533 Transparency shader doesn't cast shadows with curve segments
    • Fix T50238 Cycles: difference in texture position between OpenGL and Cycles render
    • Fix T51007 Material viewport mode crash on node with more than 64 outputs
    • Fix T50995 Wrong freestyle render with new depgraph
  • Cycles
    • Use more friendly GPU device name for AMD cards
    • Use SSE-optimized version of triangle intersection for motion triangles
    • Workaround incorrect SSS with CUDA toolkit 8.0.61
    • Correct isfinite check used in integrator
  • Depsgraph
    • Fix missing relations update tag when typing #frame

Fixed: 7, Closed: 2.

Week 278: 27th March - 2nd April

  • General development
    • Fix threading conflicts in multitex_ext_safe()
  • Bug-tracker work
    • Fix T51051 Incorrect render on 32bit Linux
  • Cycles
    • Shadow catcher went online
    • Some optimizations for CPU (pass SSE vectors by reference rather than value and things like that)
    • Switch to reformulated Pluecker ray/triangle intersection, solves render artifacts of certain scenes
    • Worked around NVCC segfault for Fermi cards
    • Solve threading conflict in shader synchronization
  • Depsgraph
    • Fix missing updates when in local view

Fixed: 1, Closed: 1.

Week 279: 3d - 9th April

  • General development
    • Looked into all race condition reported by hellgrind on the barber shot render, trying to solve missing textures and spontaneous crashes. Took quitre some time, but seems we are good now.
    • This also lead fixing some uninitialized memory access in Cycles
    • Optimized Debug build of msgfmt on Windows by a factor of 2 (speeds up locales generation when doing debug build)
    • Added Blender 2.8 to the BUildbot
    • Looked into unit tests failure on 32 bit platform, fixed some real bug in motion tracking which was visible on such platforms.
  • Cycles
    • Fix corrupted mesh render when topology differs at the next zframe

Fixed: 0, Closed: 1.

Week 280: 10th - 16th April

  • General development
    • Fix use-after-free bug in motion tracking
    • Color management: Avoid memory copy into same buffer
    • Task scheduler: Prevent race condition for the pools created from non-main thread
    • Buildbot: Attempt to fix CUDA compilation on OSX
  • Bug-tracker work
    • Fix T51158 Motion Tracking Movie clip editor graph
    • Fix T51184 Crash of Blender when I try to join an object with one that has booleans modifiers
  • Blender 2.8
    • Helkped Dalai with getting core profile to work (fixing crash on startup)
  • Cycles
    • Workaround cubic volume filtering crashing on Linux
    • Fix empty OpenCL device name for certain configurations

Fixed: 2, Closed: 3.

Week 281: 17th - 23rd April

  • Bug-tracker work
    • Fix T51187 Memory leak when exporting OpenEXR monochrome animation
  • Blender 2.8
    • Use better workaround for getting scene layer for Derivedmesh's mask
    • Fix text drawing with core profile
    • Fix wrong RNA update function declarations which was causing crashes in painting modes
    • Use model view matrix instead of texture matrix for texture brush overlay (so we don't need to implement texture matrix stack for core profile)
    • Fix node editor drawing when built with core profile ()
    • Fix alpha overlay for sculpt/paint when using core profile
  • Cycles
    • Remove meaningless volume shader output if it has no volume shaders. Speeds up OpenCL on malformed shaders.
    • Fix regression in SSS rendering after principled commit
    • Solve speed regression of classroom scene after principled commit
  • Depsgraph
    • Use proper scene to get frame from for pose constraints evaluaiton

Fixed: 1, Closed: 10.

Week 282: 24th - 30rd April

  • General development
    • Sanitized some threading areas, by avoiding unneeded locks and using some atomic operations to avoid threading conflicts.
  • Cycles
    • Remove re-hashing done in BPT volume code (was done to avoid correlation issues, which is now fixed elsewhere. Gives some % of speedup)
    • Prepared vectorized types implementation for easier extension (just committed patches prepared in a free time. The idea is to avoid having types ssef and float4 which are basically identical nowadays).
    • Fix over-allocation of triangles storage for triangle primitive hair. It was actually causing access to non-initialized memory, which crashed on Windows.
    • Fix image textures were completely broken since recent unlimited textures commit
    • Looked into ways to solve noise of Agent shots. Prepared some hack-patch to blur sharp glossy for out-of-focus regions of the frame. The sampling still needs to be fixed (there are correlation issues)

Fixed: 0, Closed: 2.

Week 283: 1st - 7th May

  • General development
    • Masks: Fix broken animation after adding primitives
    • Worked on DEG proposal for 2.8.
    • Did some help/tweaks for the shots here in the studio to make them easier for render.
  • Bug-tracker work
    • Fix T51412 Instant crash with texture plugged into the Displacement output
  • Cycles
    • Fixed split kernel being broken for CUDA
    • Some simplification and de-duplication of code in CPU/OpenCL sampling.
    • Use render visibility for duplis when Render Layer option in viewport is used. Was a request for the studio here.
    • Fixed memory leaks and crashes after python-configurable passes commit
    • Fix access array index of -1 in SSS and volume split kernels

Fixed: 1, Closed: 2.

Week 284: 8th - 14th May

  • General development
    • Fixed various issues with sequencer interface code
    • Fix missing render update when building without OCIO but having GLSL image draw method
    • Depsgraph: Fix/workaround crash when fcu->rna_path is NULL, causing bunny from the cloud to crash
  • Bug-tracker work
    • Fix T51153 Video duration is detected wrong after FFmpeg update
  • Cycles
    • Properly free memory used by KernelGlobals (regression since some refactor/denoiser work)
    • Use more stable version of integer square root function, solving bug with CMJ pattern when building with Clang.

Fixed: 1, Closed: 4.

Week 285: 15th - 21st May

  • General development
    • Fix memory leak in environment
    • Fix memory leak when saving OpenEXR files
    • Fix crash opening really old files with compositor
    • Finished and published dependency graph design v1 for Blender 2.8
  • Bug-tracker work
    • Fix T51348 Node highlighting is broken
    • Fix T49324 True displacement crashes when shader returns NaN
    • Fix T50109 Blender crash when a "Render Result" as a Texture
    • Fix T49864 EnvMap baking crashes 2.78 if 'Full Sample' checked in AA
    • Fix T50673 OpenEXR multilayer image truncated on save
    • Fix T49981 When camera is on inactive layer, it does not evaluate constraints
    • Fix T51388 Mask moves when zoom is changed in the movie clip editor
    • Fix T51529 Black boxes on a denoising render when using a .exr image as a environmental texture
    • Fix T51070 Cannot scale procedural texture in compositor
    • Fix T51556 Sequencer - White Balance Modifier - Masking is not honored
    • Fix T51537 Light passes are summed twice for split kernel since denoise commit
  • Cycles
    • Optimize expansion of headers in the source for OpenCL

Fixed: 11, Closed: 17.

Week 286: 22nd - 28th May

  • General development
    • Apparently, was a short week, with one day off. Additionally, wasted half a day with embassy and preparing documents which were requested during appointment.
    • Needed to rework fix for for crash loading old files with compositor.
  • Bug-tracker work
    • Fix T51577 ColorBalance strip modifier misses some color input
    • Fix T51308 Bright/Contrast Doesn't respect Pre-multiplied Alpha
    • Fix T51568 CUDA error in viewport render after fix for for OpenCL
    • Fix T51592 Simplify AO Cycles setting remains active while Simplify is disabled
    • Fix T51609 Bake Texture, Margin crashing Blender
    • Fix T50908 Motion Tracker ignored grease pencil mask

Fixed: 6, Closed: 7.

Week 287: 29th May - 4th June

  • General development
    • Image pool: Use memory pool for allocating elements. Solves memory overhead with lots of threads accessing image pool.
    • Displace modifier: Pre-fetch all possible images to image pool prior execution. Avoids global lock on all threads for initial pixel sample.
    • Task scheduler: Optimize subsequent pushing bunch of tasks (solves speed regression with lots of cached objects comparing to old depsgraph)
  • Bug-tracker work
    • Fix T51646 Motion Tracker instantly crashes
    • Fix T51661 Swaping strips does not refresh sequencer
    • Fix T50027 Rigidbody playback and simulation performance regression with new depsgraph
  • Dependency graph
    • Add missing update tag clear for proxy objects (solved majority of speed regression with barbershop files in comparison with old depsgraph)
    • Fix missing relations for objects which are indirectly linked, which was causing wrong order of updates
  • Motion tracking
    • Re-bundle from upstream to ensure code base is perfectly in sync
    • Made sure all tests are passing
    • Was looking into some patches/suggestions about improving our automatic keyframe selection.
    • Lots of cleanups, removal of semi-finished/unused code. The goal is to make code clear enough to work on by anyone.
  • Blender 2.8
    • Gawain: Optimize shader uniform access. Halves shader update latency for Clement (800ms old vs. 400ms after optimization)
    • Worked with Dalai on generic iterator for objects and duplis, and their support for external render engines.

Fixed: 3, Closed: 9.

Week 288: 5th - 11th June

  • General development
    • Spent some time on preparing testbuild1
  • Bug-tracker work
    • Fix T51756 Fix crash when transforming vertices in edit mode
  • Dependency graph
    • Remove dead/unused code, making it more clear to follow
    • Optimized modifiers evaluation, by removing all semi-finished granular updates. Better go granular nodes only when it's absolutely needed. Avoids overhead of depsgraph traversal.
  • Blender 2.8
    • Added Probes to the dependency graph
    • Replace recursion with loops in certain iterators
    • Support rendering objects from dupli-list for cycles
    • Worked on sanitizing the usage of despgraph, bases and such. Still some work to be done.
    • Started working on making depsgraph per-workspace/layer.

Fixed: 1, Closed: 2.

Week 289: 12th - 18th June

  • General development
    • Mainly worked on copy-on-write support for dependency graph. Got alt-a working in Blender2.8 branch. Still some work to be done to support all the tools.
  • Cycles
    • Fixed compilation of mega-kernel OpenCL on OSX (this is currently official combination, OpenCL split still needs work on OSX).
    • Fix race condition happening in progress utility
  • Dependency graph
    • Prepared code to allow having multiple depsgraph per scene, dependent on workspace. Onyl evaluaiton functions for now are modified in a way that they are not using hardcoded scene->depsgraph. Still few places remained tho.
    • Some small optimizations of build process.

Fixed: 0, Closed: 3.

Week 290: 19th - 25th June

  • General development
    • Only worked one day, before going to holidays.
    • Got initial work for copy-on-write committable under compile-time ifdef.

Fixed: 0, Closed: 0.

Week 291: 26th June - 2nd July

  • Was on a vacation in Russia

Week 292: 3rd - 9th July

  • General development
    • Arrived back to .nl on Tuesday, started working on Wednesday
  • Cycles
    • Fixed compilation without Logging and no C++11 enabled.
    • Some simple fixes to avoid passing big arguments by their value (const references ftw!)
  • General development
    • Fix T51955 Changing Auto-IK length crashes Blender (with new-depsgraph)
    • Fix T51980 Motion Tracking - png image files appear in the Blender program directory when using refine
    • Fix T51978 Setup Tracking Scene after Motion Tracking fails the first time
    • Fix T50973 Directional blur node doesn't clamp value if using driver
    • Fix T51991 Disabled for viewport particle system becomes visible after BI render
    • Fix T51977 New depsgraph removes the grass in victor scene

Fixed: 6, Closed: 2.

Week 293: 10th - 16th July

  • General development
    • Fix memory leak caused by node clipboard
  • Bug-tracker work
    • Fix T52011 Border render is incorrect with multiple scenes
    • Fix T51989 Don't set image user offset for movie files
  • Cycles
    • Disable OpenCL clFlush workarounds, brings speedup.
  • Blender 2.8
    • Spent quite some time tracking down crashes of previews. Turned out to be some design issue of Workspace which caused this. For now Dalai committed workaround which makes Blender stable, but need to lay down better design for accessing Scene Layer, Workspaces etc without accessing G.main, or any window manager.
    • Begin work on making depsgraph per-scene-layer. Just some ground work, making evaluation and other functions to NOT use scene->despgraph. More work here when Luca is done with EvaluaitonContext for modifier stack.
    • Initial support of armatures for copy-on-write

Fixed: 2, Closed: 5.

Week 294: 17th - 23rd July

  • Bug-tracker work
    • Fix T52021 Shadow catcher renders wrong when catcher object is behind transparent object
    • Fix T52134 New depsgraph crashes when evaluating several psys on from object
  • Dependency graph
    • Was mainly focused on dependency graph in blender2.8 branch
    • Some preparations to make depsgraph per scene layer (possibly, dependent on window as well).
    • Replaced hardcoded particle setting tagging from looping over all objects/particle settings to use dependency graph relations instead to do tagging and flushing.
    • Made simple animation files to work (testing on agent's walk cycle) when Blender is built with copy-on-write.
    • Made playback of animated node trees
    • Lots of other fixes here and there all over the dependency graph..

Fixed: 2, Closed: 4.

Week 295: 24th - 30th -July

  • Bug-tracker work
    • Fix T52212 Vgroups doesn't work after Carve Boolean
    • Fix T52186 Crash on bevel
  • Dependency graph
    • Lots of work done for copy-on-write and modifiers support.
    • Fix crashes of previews, by making sure all referenced datablocks are in preview bmain and that all scene layers are also proeprly initialized.
    • Lots of fixes related on re-mapping original ID pointers to copied-on-write ones during depsgraph creation.
    • Synchronize collection visibility after copy, fixes visibility issues when built with CoW support.
    • Support armature edit / pose mode for copy-on-write.
    • Skip iterating over all ntree users on node tree parameter update
    • Avoid re-evaluating all objects on frame change. Needed to support some logic to preserve evaluated mesh for non-changing objects.
    • Al; ended up in quite robust evaluation of existing scenes. All tools needs some work now, to make sure they are aware that bmain has original datablocks and that for evaluated ones they need to query depsgraph.

Fixed: 2, Closed: 6.

Week 296: 31st July - 6th August

Was away at SIGGRAPH 2017.

Week 297: 7th - 13th August

  • General development
    • Various fixes for all rtecent changes to make all platforms on buildbot happy
    • Slowly getting to speed after SIGGRAPH.
  • Bug-tracker work
    • Fix TT52255 New Depsgraph - Constraint and Drivers not working together when the driver references itself
    • Fix T52229 Shadow Catcher artifacts when under transparency
  • Cycles
    • Was looking into shadow catcher bugs/improvements. Ended up with rather simple code, but testing took quite some time to make sure there is no regressions and that everything is behaving as it should.
    • Fix instanced shadow catcher objects influencing each other

Fixed: 2, Closed: 8.

Week 298: 14th - 20th August

  • General development
    • Spent quite some time trying to get Vega GPu to work in the studio. Got some numbers, but setup is very flackey.
    • Worked on automated benchmark script for the studio. Will be shared later next week.
    • Prepared Blender 2.79 ReleaseCandidate 2.
    • Spent whole day in the datacenter doing maintenance.
  • Bug-tracker work
    • Fix T51850 Motion tracking - poor performance with keyframe matching on large video
    • Fix T52331 Motion blur shutter length not keyable

Fixed: 2, Closed: 2.

Week 299: 21st - 27th August

  • General development
    • Various optimizations in tangent space calculation
  • Bug-tracker work
    • Fix T52479 Regression: Motion Tracking no longer works
    • Fix T52454 Crash in DEG_graph_on_visible_update when activating scene layer
    • Fix T52209 New Depsgraph - animated follow curve constraint sometimes freaks out when the curve has a parent
    • Fix T52218 Missing update when reconnecting node
    • Fix T51805 Overlapping volumes renders incorrect on AMD GPU
    • Fix T51907 New Depsgraph - Camera constraint is not evaluated properly
  • Cycles
    • Fix issue with -0 being considered a non-finite value
    • Fix threading conflict when doing Cycles background render
    • Fix stack overflow during traversal caused by floating overflow
  • Depsgraph
    • Fix crash entering edit mode when using copy-on-write

Fixed: 6, Closed: 4.

Week 300: 28th August - 3rd September

  • General development
    • Got step back from general development, focusing on some studio stuff and experimenting with various things in Cycles.

Fixed: 0, Closed: 0.

Week 301: 4th - 10th September

  • General development
    • Next month working remotely, so took time to travel home and setup desktop for latest Blender again.
    • Was mainly looking into own bugs (few issues in depsgraph and Cycles)
    • Looked into some precision issues in Cycles, needed to be done for 2.79 release.
  • Bug-tracker work
    • Fix T52533 Blender shuts down when rendering duplicated smoke domain
    • Fix T52522 VSE renders with alpha transparent PNG image incorrectly
    • Fix T52531 Blender 2D stabilisation node issue when autoscale is selected
    • Fix T52433 Volume Absorption color tint

Fixed: 4, Closed: 0.

Week 302: 11th-17th September

  • General development
    • Was mainly focused on bug tracker, getting brain free from rust.
  • Bug-tracker work
    • Fix T52679 Hole in bake normal
    • Fix T52573 Cycles baking artifacts
    • Fix T52113 Compositor doesnt mix unrendered render layers well
    • Fix T52140 Align objects centers using origin for text
    • Fix T52299 X resolution of 4 causes nodes to collapse
    • Fix T52741 Follow track with depth object crashes Blender with new depsgraph
    • Fix T52739 Crash loading corrupted video files
    • Fix T52749 New Depsgraph - Render View Mask is not initialized correctly
    • Fix T52653 Render output of linked scenes conflicts with other scenes with the same name
    • Fix T51416 Blender Crashes while moving Sliders
    • Fix T52537 Dyntopo "detail flood fill" doesn't work in some cases
    • Fix T52732 Particle system volume grid particles out of volume
    • Fix T52763 Boolean problem with vertex group
    • Fix T52705 Lamps shadows are not refreshed when tweaking lamps parameters (Blender 2.8)
  • Cycles
    • Tweaks to avoid compilation error of megakernel (spotted during experiments on NVidia, but was probably happening on macOS OpenCL as well)
    • Add automated tests for Cycles baking

Fixed: 14, Closed: 20.

Week 303: 18th - 24th September

  • General development
    • Color management: When look is applied, we can not consider spaces to match (actually fixed T52812 happening in Blender2.8)
    • Tracking: Fix crash when tracking failed
    • Cycles: Fixed compilation of OpenCL megakernel on NVidia card and on macOS platform.
    • Cycles: Looked into failing denoising on macOS, but still under investigation. Have some clues now where the error might be and where it can not be, would give more investigation later.
  • Bug-tracker work
    • Fix T52432 Blender crashes while using Ghost (new depsgraph)
    • Fix T52811 At any framerate selected, video exported with 1000fps
    • Fix T52823 New Depsgraph - Shrinkwrap crashes blender
    • Fix T52818 Tangent space calculation is really slow for high-density mesh with degenerated topology
    • Fix T52840 New Depsgraph - Mask editor not working correctly
    • Fix T52851 Per-frame traking is broken when sequence doesn't start at frame 1

Fixed: 6, Closed: 2.

Week 304: 25th September - 1st October

  • General development
    • Was quite annoying week with catching some sort of fly, which knocked me off for majority of the week.
    • OpenVDB: Fix compilation error against OpenVDB 4
  • Bug-tracker work
    • Fix T52835 When driven IK influence change, ik animation have 1 frame delay
    • Fix T52932 Driver with target of custom property from scene fails to update
    • Fix T52086 Graph editor "normalize" drag errors for integers

Fixed: 3, Closed: 1.

Week 305: 2nd - 8th October

  • General development
    • Helped Dalai with Blender 2.8 design document
  • Bug-tracker work
    • Fix T52920 Saving Tiff Files type Blender crashes
    • Fix T52927 Compositor wrong scale when scale size input is connected to complex node
    • Fix T52981 2D Curve shapes do not render untill extruded
    • Fix T52982 Join operator with context override crashes Blender 2.79
    • Fix T52940 VSE Glow Effect Strip on transparent images has no blur
    • Fix T53012 Shadow catcher creates artifacts on contact area
  • Cycles
    • Fix possible race condition when generating Beckmann table

Fixed: 6, Closed: 6.

Week 306: 9th - 15th October

  • General development
    • Was a short week, Monday was spent doing paperwork, Friday i was flying to Amsterdam.
  • Bug-tracker work
    • Fix T53048 OSL Volume is broken in Blender 2.79
  • Cycles
    • Fix compilation of sm_20 and sm_21 kernels
    • Fix possible race condition when initializing devices list (was causing crashes in 2.8)
    • Speedup up tangent space calculation

Fixed: 1, Closed: 2.

Week 307: 16th - 22nd October

  • General development
    • Fix memory corruption in GPU_debug on GTX1080
    • Fixes in new ID copy functionality to support needs/expectations of copy-on-write.
  • Bug-tracker work
    • Fix T53007 OpenSubdiv + transparency = artefact/crashes
  • Cycles
    • Fix wrong shading when some mesh triangle has non-finite coordinate
  • Blender 2.8
    • Made a project plan
    • Make Copy-on-Write a command line option
    • Use new ID management API to copy ID pointers (avoids extra temporary allocations, locks and solves ID counter issues)
    • Removed direct access to scene->depsgraph from evaluaiton code, use depsgraph passed via EvaluaitonContext.
    • Begun working on making depsgraph to be per-workspace/window/layer.

Fixed: 1, Closed: 7.

Week 308: 23rd - 29th October

  • General development
    • Blender Conference 2017 week!
  • Cycles
    • Fix compilation error without C++11
    • Fix memory leak in test and simplify code
  • Depsgraph
    • Remove bunch of debug code, make code more obvious to follow and attractive for others. Get rid of some basework done years ago which we never ended up using.
    • Add missing movie clip dopesheet invalidation
    • Lots of work to get away from code which was using scene->depsgraph since now we need to support multiple depsgraphs per scene.
    • Removed workarounds needed fro old dependencu graph almost all over the code. Makes it easier to port modules to a new system.
    • Got ready to make depsgraph to be per-scene per-workspace, need to run some additional tests to ensure the change does not break anything obvious and the work can go to public.

Fixed: 0, Closed: 0.

Week 309: 30th October - 5th Novemver

  • General development
    • Monday was absolutely dead since some sandwitch. Was an open-doors event at the studio anyway. So was yet another short week :(
  • Cycles
    • Some maintenance work, port commits to snandalone repository and back.
    • Added API and some basic information about Cycles-specific settings to output file's metadata.
    • Experimented with reducing stack size for GPU. Gives about 200MB saving for 1080, but was giving slowdown on AMD. Brecht reworked the patch and put it to master.
  • Blender 2.8
    • Lots of work porting all scene/relations update to new API which is aware of multiple depsgraphs per scene.

Fixed: 0, Closed: 0.

Week 310: 6th - 12th November

  • General development
    • Cycles: Fix compilation error with latest OIIO
  • Dependency graph
    • Fix missing relations when node tree uses an object (for example, Point Density shader)
  • Blender 2.8 / Dependency graph
    • Fix/workaround crash when rendering from command line
    • Fix/workaround command line rendering of sequencer
    • Removed lots of legacy workarounds all over the place which started to be in a way of The Ultimate Depsgraph
    • Switched all areas (except of render pipeline) to a new depsgraph ownership model. This allowed to have proper visible layer switch from the top bar!
    • Made all Cycles regression tests to pass!
    • Fix broken copy-on-write draw after ownership changes
    • Workaround crash rendering font objects

Fixed: 0, Closed: 5.

Week 311: 13th - 19th November

  • General development
    • Cycles: Fix compilation error with OIIO compiled against system PugiXML
    • Depsgraph: Fix relations for metaballs
    • Depsgraph: Speed up playback of hair system used for static duplication
  • Bug tracker
    • Fix T53068: AMD Threadripper not working well with Blender

Fixed: 1, Closed: 1.

Week 312: 20th - 26th November

  • Bug-tracker work
    • Fix T53371 Keying Node fails with values above 1
  • Dependency graph
    • Fixed handful of crashes/bugs when running depsgraph with copy-on-write enabled.
    • Started switching modifiers away from using md-scene. Use time from evaluation context instead. Solves missing time updates of modifiers when copy-on-write is enabled.
    • Handle selection updates (draw cache tagging/update) using dependency graph. Solves missing draw refresh in edit mode with copy-on-write enbaled.
    • Got rid of base->flags "flush" to object from depsgraph iteration. This is something which should be happening at the evaluation time.

Fixed: 1, Closed: 0.

Week 313: 27th November - 4th December

  • General development
    • Sequencer: Add option to render OpenGL preview with DoF
    • Transform: Avoid use of ob->recalc in snapping code (replace with direct object update, based on new DEG callbacks)
    • Transform: Remove legacy workarounds, which were in a way of moving forward with new DEG and CoW and such.
  • Dependency graph
    • Replace direct calls to editors update from certain operators with tag system of dependency graph. Would solve issues with possible multiple CoW objects for the given ID, all of which needs to be informed.
    • Remove workaround for Blender Internal in viewport,
    • Avoid use of bContext in new DEG callbacks listening to ID updates.
    • Make draw manager to hook to DEG via listening callbacks (similar to how it's done for Cycles in master). Avoid use of special obscure flags in Object DNA.
    • Fix missing objects in viewport when CoW is enabled
    • Fix crash with compositor node tree when CoW is enabled
    • Fix crash on playback of animated objects when CoW is enabled
  • Blender 2.8
    • Lots of cleanup in Draw Manager and Eevee, make naming more obvious and match in semantic with other areas.
    • Avoid use of goto's in looooon functions.
    • Move transform API to use DEG query, instead of direct calls to object update + tag + flush.
    • Remove Object->recalc flag, use ID->LIB_TAG_RECALC_* flags instead. No need to keep two similar bitflags in sync!

Fixed: 0, Closed: 0.

Week 314: 4th - 10th December

  • Bug tracker
    • Fix T53408: Updating Cycles Nodes via Drivers in Material View
    • Fix T53499: Cannot load DPX files
  • Blender 2.8
    • Made collections in Groups to work with Copy-on-write
    • Made proxies to (kind of) work with Copy-on-Write. Still need work.
  • Dependency graph
    • Fixed missing drivers update coming from animated custom property
    • Fixed wrong relations build when driver variable was first pointing to a bone and then was changed to something else.
  • Cycles
    • Fix difference in image Clip extension method between CPU and GPU

Fixed: 2, Closed: 8.

Week 315: 11th - 17th December

  • General development
    • Speed up preparing tracking initialization when having lots of tracks tracked frames.
  • Bug tracker
    • Fix T53528 Empty thumbnails in filebrowser
    • Fix T53552 Unneeded particle cache reset on frame change
    • Fix T53547 Metaballs as dupli objects are not updated with the new Depsgraph
  • Blender 2.8
    • Make ID level recalc flags more clear what they means
    • Got rid of ID_RECALC_DATA tag, it is to be checked via object->data->id tags
    • Remove id tagging workarounds needed for dupliframes. Those should not be needed with new dependency graph at all.
    • Begin work on making id->recalc flags more granular, so render engines can only update what is required.
    • At the same time, got rid of 3 places where depsgraph update tags and ID/object recalc flags needed to be kept in sync.

Fixed: 0, Closed: 3.

Week 316: 18th - 24th December

  • General development
    • Last working week of year 2017! Congratulations everyone and happy new year!
    • Font objects: Support proper auto-space
    • Optimizations in global task scheduler, targeting to avoid threading overhead on machines with 32+ threads.
    • Avoid global lock for loops and orig index layers in subsurf code
  • Bug tracker
    • Fix T53398 Surface deform modifier says that convex polygons are concave for big faces
    • Fix T53559 Auto texture space for text and font is wrong in Cycles
    • Fix T53523 Keyframes for Marker weight stay, even if the track itself is deleted
    • Fix T53400 DEG tagging is freeing Irradiance Grid when selecting objects
  • Motion tracking
    • Fix possible numerical overflow when assigning boolean
    • Add missing animation fix when deleting plane track
    • Add missing animation path fix after renaming tracks
  • Blender 2.8
    • Made ID->recalc flags more granular, helps telling render engines about what was changed.
  • Dependency graph
    • Synchronize some changes from 2.8 branch to master. Helps making those changes to be well-tested.
    • Make transitive relation reduction to work again. Helps performance in the cost of somewhat bigger building time. Not used by default yet.
    • Bring timing statistics to the new dependency graph. Currently only supports dump to gnuplot format, built-in visualization in Blender is yet to come!
  • Cycles
    • Fix crash opening user preferences after adding extra GPU

Fixed: 4, Closed: 5.

Week 317: 25th - 31st December

Away in Russia for holidays.

Fixed: 0, Closed: 0.