Weekly Reports for year 2016

Week 213: 4th - 10th January

  • General development
    • Final fixes and tweaks to make everyone happy with CMake, japped SCons away
    • Re-organize structure of Libmv/glog/gflags/ceres to follow our directory layout more strict and make it easier to update the libs.
    • Buildbot: Link libstdc++ statically, that became violated at some point causing issues with some render farms
  • Bug-tracker work
    • Fix T46984 Image mapping bug
    • Fix T47120 CPU OSL Cycles crashes blender in latest GIT
    • Fix T46723 Issue with linking to rigs running Blender in new depsgraph mode
  • Tracking
    • Use BLI mask rasterization for track masks, removed intern/raskter library
  • Cycles
    • Fix access uninitialized SVM stack caused by recent optimization
    • Fix stupid mistake which was assigning kernel function in a loop
    • Log which optimizations are used for CPU kernels
    • Fix possible buffer overflow in OIIO cache error message
    • Update some API to be ready for OSL 1.6

Fixed: 3, Closed 7

Week 214: 11th - 17th January

  • General development
    • CMake: Some maintenance work, make it all nicer
    • Compositor: Add option to extend image bounds when blurring
  • Bug-tracker work
    • Fix T47180 Cycles deform motion blur + displacement behaves weirdly
  • Tracking
    • Solve strict compiler warnings in stubs
    • Use sliding zone which is closer to the mouse (improves user experience)
  • Cycles
    • Tweaks to CUDA kernel to improve performance of Experimental kernels
    • Use special debug panel to fine-tune debug flags (as opposite to environment variables)
    • Use proper primitive for the motion subsurface refine (solves shading artifacts with SSS and moblur)
    • Add option to directly link against CUDA libraries (while it's not something we want for releases, it's something required to have NVidia profilers and debuggers working with Blender)

Fixed: 1, Closed 1

Week 215: 18th - 24th January

  • General development
    • Moved own butt to Amsterdam
    • Almost died in good quality european flu
    • Sequencer: Implement Tone Map strip modifier
    • Sequencer: Speedup gaussian blur effect
  • Bug-tracker work
    • Fix T47201 Cycles+OSL keeps image files open until Blender exits
    • Fix T46243 New Depsgraph: changing action misses relations update tag
    • Fix (Partial) T47198 Cycles have broken UVs in some degenerated quads cases
  • Cycles
    • Fix OpenCL kernel compilation after the bake commit

Fixed: 2.5, Closed 0

Week 216: 25th - 31st January

  • General development
    • Fix lock release deadlock when acquiring pass with no data ready yet
    • Fix missing render result release when alt-wheeling render pass menu
    • Keep image dimension used by space image and some other tools sync (solves issues with mask editing)
    • Compositor: Speedup movie (un)distortion operation
    • Depsgraph: Add missing relations between driver and particle settings
  • Bug-tracker work
    • Fix T47217 Crash when tracking specific scene
    • Fix T47210 Compostiting, Bad AA using distort + undistort nodes
    • Fix T47214 Keyed Particles don't render correctly when used for point density input
    • Fix T46624 Preview is not always correctly updated
    • Fix T46412 Defocus node not working on Windows 32 bit
  • Sequencer
    • Add option to use absolute mask animation time
    • Fix crash when trying to change filepath of Sound strip
    • Fix wrong frames number detection for certain videos
    • It is now possible to append strip's modifiers to all selected ones
  • Cycles
    • Make kernel compilable for 3.7 compute capability
    • Enable compilation of sm_37 kernels by default
    • Cleanup of OpenCL split kernel routines (finished and verified old patch)
    • Pass Blender's C++ RNA structures by reference (avoids passing 200+ bytes structs by value)

Fixed: 5, Closed 9

Week 217: 1st - 7th February

  • General development
    • Various fixes to "Use Strip Metadata" option
    • Fixes for requests/numpy python packages on OSX (were badly packed by buildbot)
    • Worked on a patch which avoids unneeded re-compo/re-renders when tweaking node tree in way that doesn't change final result
  • Bug-tracker work
    • Fix T47207 Material shading incorrectly handles colorramp node
    • Fix T46481 Volume grid particles out of volume
    • Fix T46382 Crash sharing particle system with clump or rough curves
    • Fix T46411 Experimental deps graph causes particles to jump around
    • Fix T46583 Sculpt symmetry don't work in clipping border view mode
    • Fix T47302 Crash when OSL active with a viewport on rendered
    • Fix T47266 Blender crashes from Scripted Expression in Driver
    • Fix T47329 Compositing fails to render unless each included scene was rendered since opening
  • Cycles
    • Implement approximate reflectance profiles paper (gives nicer looking SSS)
    • ifdef some extra code when building split kernels (hopefully will solve some compiler bugs around)
    • Prepared patch to zap Boost out of Cycles sources
  • Studio work
    • Finished re-wiring the studio rack
    • Re-installed system on a machine which will be used for tutorials recording

Fixed: 8, Closed 16

Week 218: 8th -14th February

  • General development
    • Fixed unit tests compilation on Windows (apparently nobody used them on win)
  • Bug-tracker work
    • Fix T47329 Compositing fails to render unless each included scene was rendered since opening
    • Fix T47356 Too sharp falloww with Burley BSSRDF
    • Fix T47366 Single slope linear curve was wrongly using vector handle
    • Fix T47377 Newer file crashes at render on official 2.76b version
    • Fix T47387 Cycles Point Density Render Issues
  • Cycles
    • Remove workaround for MSVC2010 and Boost, which speeds up scene preparation time on Windows a lot actually
    • Added unit tests for some utility functions in Cycles
    • Got rid of Boost in Cycles code (mainly, rest will be removed once we accept C++11)
    • Solve issues with automatically disabled MIS (was missing some updates in viewport render)
    • Fix an AttributeError exception on missing object context
    • Watched 200 hours of cat videos on youtube
    • Make Blender importer more forward compatible
    • Always use guarded allocator for vectors
    • Warious Fixes for Burley BSSRDF
  • Studio work
    • Prepared benchmark zip file, mostly.

Fixed: 5, Closed 7

Week 219: 15th - 21st February

  • General development
    • Made Speed output of Track Position totally compatible with the Vector Blur node
    • Make Blender compilable with FFmpeg-3.0
    • Sol 1637 since the BF contract begun.
  • Bug-tracker work
    • Fix T47447 Cycles crash when reaching texture limit with 3D textures
  • Cycles
    • Worked on bringing back support of CUDA rendering on 32bit OS
    • Added support of 3D textures for CUDA rendering (smoke and fire rendering on GPU)
    • Switch to CUDA toolkit 7.5 (solves huge speed regressions on GTX9xx)
    • Looked into Embree's BVH builders, got inspiration, started improving our builders. Started with making spatial split builder multi-threaded. Was not finished that week yet.

Fixed: 5, Closed 1

Week 220: 22nd - 28th February

  • General development
    • Fix compositor using edge repeat policy when it shouldn't
    • Release Candidate 1 week, so some time was spent on reviewing status and doing RC AHOY+builds
    • Prepared and enabled newer chroot for Linux builds. Currently only used for buildbot.
  • Bug-tracker work
    • Fix T47444 Texture node in compositing nodes does not update
    • Fix T47565 Crash when adding texture node in compositor
  • Cycles
    • Fix memory leak in point density
    • Make point density sampling threaded
    • Fix race condition in point density texture min/max code
    • Fix bug in CMJ pattern when number of samples is 1
    • Fix compilation error of certain OpenCL split kernels

Fixed: 2, Closed: 2

Week 221: 29th February - 6th March

  • General development
    • Travel home week. Monday was spent on airports, Tuesday was mainly spend recovering from night flight and solving some piled non-code work at home.
    • Avoid node tree update tag when changed nodes which are not affecting result
    • Render Save Buffers: Use proper memory buffer size for a display buffer
    • Avoid some obvious crashes when running out memory allocating render result
    • Make texture node in compositor threaded
  • Bug-tracker work
    • Fix T47638 Bad auto-smooth value for new meshes
    • Fix T47610 Texture node in compositing nodes does not update
  • Cycles
    • Fix wrong default value for volume samples

Fixed: 2, Closed: 1

Week 222: 7th - 13th March

  • General development
    • Skip scopes update for render result during rendering
    • Friday was wasted in Moskow.
  • Bug-tracker work
    • Fix T47681 Bump node doesn't work with SSS shader when using OSL
    • Fix T47701 Image not fully updated after setting .pixels
    • Fix T47724 VSE crops video if horizontal resolution isn't divisible by 8
  • Cycles
    • Various cleanup and speedup of some areas after the spherical stereo commt
    • Fix border render after spherical stereo commit
    • Was looking into some tricky reports in the tracker related on performance issues and AMD support. Took quite some time, but no real fixes yet ready.

Fixed: 3, Closed: 4

Week 223: 14th - 20th March

  • General development
    • Was last week in Russia, and needed to go to Yekt for a one day. So wasn't that much done, unfortunately.
    • But fortunately we're done with 2.77
  • Bug-tracker work
    • Fix T47785 Rendering Crash, Node Connector Crash, Changing Editors Crash
    • Fix T47724 VSE crops video if horizontal resolution isn't divisible by 8
    • Fix T47577 Movie clip uses too much memory with still image sequences
    • Fix T47734 Rest Position is not working with new Deps
    • Fix T47806 Blender animation player stop working correctly with XVID codec

Fixed: 5, Closed: NA

Week 224: 21th - 27th March

  • General development
    • Moved my body to Amsterdam, so Monday was wasted
    • Perhaps was something else, hard to remember
  • Bug-tracker work
    • Fix T47856 Cycles problem when running from multi-byte path
    • Fix T47870 Missing viewport update when material output is inside of the group
    • Fix T47697 Smoke simulation doesn't work in viewport
  • Cycles
    • Minor optimization of equirectangular projection
    • Use dedicated BVH for subsurface ray casting
    • Experimented with Lambert projection for panorama rendering
    • Started work on native cubemap support for Cycles

Fixed: 3, Closed: 7

Week 225: 28th March - 3d April

  • General development
    • Was basically working on getting local BVH branch merged into master. For now simple build-time optimizations and preparation work for upcoming improvements.
    • This also lead to some troubleshooting in corner cases
  • Bug-tracker work
    • Fix T47898 Error adding mask node with "Add Mask Node" operator
    • Fix T47931 Missed world shader update when having object dependency
    • Fix T47987 Blender Cycles standalone does not properly read UV coordinates from XML
  • Cycles
    • Resumable render implementation for Cycles
    • Fix too many objects being considered an instance
    • Fix wrong initialization order of mesh flags and object transform
    • Support deformation motion blur for curves deformed by taper
    • Fix wrong camera-in-volume stack when camera ray hits volume domain twice

Fixed: 3, Closed: 2.

Week 226: 4d - 10th April

  • General development
    • We did 'a' release which took some time on tuesday.
    • Re-installed desktop, now have nice fast HDD configuration
    • RIP my previous HDD tho..
  • Bug-tracker work
    • Fix T48002 Wrong behavior with "RGB to Intensity" in Image textures
    • Fix T47991 Smoke preview in viewport not showing up on some Mac systems
  • Cycles
    • Make curves modified by a taper object with modifier considered a deform modified
    • Various improvements and small fixes for commits from last week
    • Make spatial split BVH builder multi-threaded
    • Fix wrong camera in volume check when domain is only visible to camera rays
    • Fix rare dead-locks on TaskScheduler::exit()

Fixed: 2, Closed: few of them, statistic is lost.

Week 227: 11th - 17th April

  • General development
    • Compositor: Fix image and render layer always extending edges
  • Bug-tracker work
    • Fix T48103 Wrong renders on AMD OpenCL when Light Falloff node is used
    • Fix T47754 Meshes glitch on cycling Viewport Shading mode with Linked Groups
    • Fix T47813 Cycles Standalone not respecting integrator sample_clamp_direct
    • Fix T48139 Checker texture strange behavior in cycles
  • Cycles
    • Fix rare dead-locks on TaskScheduler::exit()
    • Remove hair support from volume BVH traversal (optimization + simplifies ongoinh hair BVH work)
    • Avoid crash when accessing non-existing volume attribute
    • Add missing velocity attribute to builtin image loader
    • Resolve ridiculous amount of memory used by spatial split builder
    • Fixes for wrong volume render
    • Support heat volume attribute
    • Optimization to spatial BVH build

Fixed: 4, Closed: 14.

Week 228: 18th - 24th April

  • General development
    • NDof device: Check for socket exists before connecting to spnavd
  • Bug-tracker work
    • Fix T47812 GPU renders have warmer colors than CPU renders
    • Fix T48162 GPU render gives wrong results in certain volume setups
    • Fix T47794 Point density sometime seems stretched when rendered on GPU
    • Fix T46903 Missing Render Border Menu items
  • Cycles
    • Improvements and fixes for the resumable render
    • Use threads to sort reference arrays when searching for split
    • Stop rendering when bad_alloc happens
    • Multi-thread object transform update

Fixed: 4, Closed: 6.

Week 229: 25th April - 1st May

  • General development
    • Hair edit: Add operator to uniform length of selected hairs
  • Bug-tracker work
    • Fix T48259 Vertex painting doesn't trigger refresh of cycles rendered viewport
    • Fix T48211 Modifying an F-Curve modifier property is not updating the 3D window
    • Fix T48176 Shrinkwrap crashes when multiple objects uses same target
    • Fix T47715 EXCEPTION_ACCESS_VIOLATION crash when removing modifiers or rendering
    • Fix T48298 Cycles World environment Texture node, movie doesn't update frame
  • Cycles
    • Move vector re-allocation out of loops in the BVH builder (gives some %% of speedup)
    • Fixed some issues with MSVC
    • Mainly was working on Hair BVH

Fixed: 5, Closed: 16.

Week 230: 2nd - 8th May

  • General development
    • Fix compilation error on Armel architecture (YAY for all those raspberry pis!)
    • Optimization for initial display of high res textures in viewport
    • Optimize Blank and Color Grid generated images
    • Optimize threaded scanline processor (avoid extra memory allocation etc)
    • Optimize projection painting with big brushes
    • Optimize linear<->sRGB conversion for SSE2 processors
    • Multi-thread generated image creation
    • Implement threaded partial display buffer update (used by painting)
    • Speedup of regular 2D painting (by multi-thread)
    • Clip invisible parts of image when drawing in 2D textures and GLSL Modes
  • Bug-tracker work
    • Fix T47424 Blender Internal material node 'mapping' not showing results of animation
    • Fix T47841 Shift-space doesn't type space in type-in fields on Windows
    • Fix T48346 Transparent shadows do not work for instanced objects
  • Cycles
    • Fix hair minimal size doesn't work on GPU and SSE2 only CPUs
    • Prepared patch for pole merging

Fixed: 3, Closed: 15.

Week 231: 9th - 15th May

  • General development
    • Fix makesdna not checking alignment for a non-native platform
  • Bug-tracker work
    • Fix T48393 Blender player doesn't start on files saved with with cyrillic letters in path
    • Fix T48421 AO pass broken, only works when AO in cycles is enabled
  • Dependency graph
    • Mainly optimization work
    • Avoid having per-node lock when scheduling children
    • Store node input/output links in a vector rather than in set
    • Avoid unneeded relations update when canceling transform
    • Add thread-aware task push routines (improves performance of scheduling 1000s of small tasks)
    • Don't leave active thread if there's only one children node
    • Avoid multiple editors update per same ID
    • For big graphs update pending parents in threads
    • Use some more threading when tagging and finalizing evaluation
    • Avoid per-constraint-target call of strlen()
    • Fix animation flicker caused by missing relations
    • All this bumped fps from around 40 to 90 with a blenrig on my desktop,

Fixed: 2, Closed: 5.

Week 232: 16th - 22d May

  • General development
    • Ignore vertex color when doing texture paint
  • Bug-tracker work
    • Fix T48434 Missing meta support in new depsgraph
    • Fix T47727 Weird bake results with non integer color values
  • Cycles
    • Reduce amount of malloc() calls from the kernel, gives up to 3-5% of speedup on volume rendering.
    • Pole merging for spherical stereo
    • Fix very nasty bug with multiple scalar type qualifiers
    • Support all procedural textures in Cycles GLSL viewport
    • Support bump mapping in GLSL viewport
  • Dependency graph
    • Fix rest pose still using bone constraints

Fixed: 2, Closed: 6.

Week 233: 23d - 29th May

  • Bug-tracker work
    • Fix T48334 Cycles standalone xml import of uv coordinates
    • Fix T48486 Not enough precision in Volume Sampling Step Size input
    • Fix T48496 Viewer function in NodeWrangler addon don't work in Material Shading mode
    • Fix T48508 Cycles Regression / Crash
  • Cycles
    • Support Vertex Color in GLSL viewport for Cycles
    • Fix for all OpenGL lights affecting Cycles viewport, regardless of their Enabled state
    • Fix missing volumes support for feature-adaptive viewport render
    • Fix missing feature reported by the Volume node
    • Fix wrong closure counter in feature adaptive kernel
    • Fix wrong render results when using multiple OpenCL devices
  • Dependency graph
    • Solve wrong datamask calculated by depsgraph
    • Cleanup and code simplification
    • During cleanup found some hotspots in execution and raised fps on blenrig by few percent

Fixed: 4, Closed: 4.

Week 234: 30th May - 5th June

  • General development
    • Make playback invoked form animation editors more usable (request form Hjalti)
  • Bug-tracker work
    • Fix T48553 Cycles GLSL Box projection produces strong artifacts
    • Fix T48556 Missing transparent shadows on AMD OpenCL
    • Fix T46207 Slow OpenCL GPU bake and blown out baking Cycles render
  • Cycles
    • GLSL: Fix magic colors being off
    • GLSL: Fix voronoi texture giving different results form rendered
    • GLSL: Make it work with software opengl mode
    • Properly handle vertex color color space for Cycles GLSL
    • GLSL: Fix wrong vertex colors in edit mode
    • Simplify check for degenerated faces on GPU
    • Mark which CUDA device is used for display
    • Add support of processor groups (renders with all threads on Windows machine with more than 64 threads!)
    • Ignore zero size instances in BVH
  • Dependency graph
    • Fix wrong layers flush form children to parent
    • Optimization in update flushing
    • Depsgraph: Fix missing updates when modifying armature (caused by recent optimization)

Fixed: 3, Closed: 2.

Week 235: 6th - 12th June

  • General development
    • Fix FPE exception happening when converting linear<->srgb using SIMD
  • Bug-tracker work
    • Fix T48550 Imperfections when Bake displacement map to plane if camera is not in front
    • Fix T48582 Rigidbody simulation issue with new depsgraph
    • Fix T48571 Cycles/GPU - A lot of fireflies on SSS+Volume
    • Fix T48589 Compositor Backdrop crashes Blender
  • Cycles
    • Optimization: Ignore zero size instances in BVH
  • Dependency graph
    • Russian electric tape bodge to have multiple proxies work
    • Optimize flush update when there's few objects and fewzillions of bones
    • Avoid redundant connection from IK solver to chain

Fixed: 4, Closed: 4.

Week 236: 13th - 19th June

  • General development
    • Majority of the week spent on re-working and finishing Hair BVH patches for Cycles.
  • Bug-tracker work
    • Fix T48613 Bump mapping in cycles is not shown on the viewport when the material use node groups
    • Fix T48662 Blender crash using node groups connected with displacement output in some situations
    • Fix T46492 GGX distribution produces black pixels

Fixed: 3, Closed: 2.

Week 237: 20th - 26th June

Had a week off

Week 238: 27th June - 3d July

  • General development
    • Was mainly working on a pile of bug reports assigned to me after the week off. Unfortunately, not so much reports was handled, majority of the issues were nasty precision-related issues in Cycles. Takes ages to figure out what exactly causes the bug (sure enough it's not obvious from the beginning that something is a numeric instability issue) and figure out if it's just limitation of current forumlas implemented with machine precision or if it's a real bug. Life is not becoming easier since half of the reports were about issues on GPU..
  • Bug-tracker work
    • Fix T48732 New GGX breaks OpenCL kernel
    • Fix T48728 Vertex colors not shown in texture mode
    • Fix T48666 Segfault on boolean operation when exiting edit mode of instanced operand

Fixed: 3, Closed: 7.

Week 239: 4th - 10th July

  • General development
    • Monday was mainly spent on packing and everything
    • Tuesday was a trip day
    • Got fully disappointed in PostNL
    • Worked on final touches, preparing Hair BVH branch for merge
    • Cycles hair is now 2x faster render (for marketing, on pure-hair files)
  • Bug-tracker work
    • Fix T48808 Regression: Cycles OpenCL broken after Hair BVH commit
    • Fix T48799 Particles set as objects cast wrong ray shadows in BI

Fixed: 2, Closed: few.

Week 240: 11th - 17th July

  • General development
    • Bump maximum threads number to 1024 (finished old patch, Windows will still need some work, similar to what i did for Cycles)
    • Was running around the studio on Wednesday and Friday cursing absolutely everything so then i can check whether Ton is reading this report.
  • Bug-tracker work
    • Fix T48824 Crash when having too many ray-to-volume intersections
    • Fix T48818 Objects with alpha maps cast wrong ray shadows in BI
    • Fix T48734 Driver not updating when using Single From Driver within same object
    • Fix TT48798 NEW-DEPSGRAPH - Dupligroup from dupligroup strange behaviour.
    • Fix TT48856 Cycles/Cuda crash when live rendering an object with an animated array modifier
  • Depsgraph
    • Fix shape key nodes trying to be added multiple times
    • Fix crash in Weight VG modifier
    • Accumulate object layers from all bases, fixing missing updates reported by Andy
    • Revert previous fixes for multiple proxies: they broke another file from the studio and initial issue i've tried to solve is not fixable.
  • Cycles
    • Fix Extend image extension mode on OpenCL
    • Fix wrong termination criteria in intersect_all functions, which was reading and writing past the array boundaries
    • Fix wrong size of sobol texture, which was resulting in reading past the array boundaries.
    • Improvements in OpenCL logging
    • Add option to disable new Hair BVH (in the future it'll be wrapped with single Prefer Performance / Minimize Resources toggle, gives about 20% memory save on hairy scene)
    • Fix refitting of regular BVH

Fixed: 5, Closed: 10.

Week 241: 18th - 24 July

  • Bug-tracker work
    • Fix T48860 Cycles SSS artifacts with spatially split BVH
    • Fix T48848 Cycles - Camera Culling - Camera Culling removes objects which are still in frame
  • OpenSubdiv
    • Fix broken structure alignment when using color material (causing shading artifacts on some GPUs)
    • Fix wrong shading in BI texture mode
    • Lots of work to support UVs in textured and material views.
  • Motion tracking
    • Fix possible cases when tracker will try tracking failed tracks
    • Fix bug when tracker will keep trying tracking past the footage
    • Looked into some tracking stabilities when movement is purely rotation. There is a workaround, but needs some more investigation on various footage.

Fixed: 2, Closed: 4.

Week 242: 25th - 31st July

  • Bug-tracker work
    • Fix T48902 MCE Dopesheet does not respect Left Click select
    • Fix T48950 Movie Clip mode segfaults
    • Fix T48829 Memory leak on Blender Exit
    • Fix T48760 Changing Renderlayer Compositor node Layer does not update enabled outputs until script is finished
    • Fix T48946 Blender+Tahiti+DRI3+Unity+Linux GUI corruption/not rendering
    • Fix T48963 Noise when changing Diffuse node to Emission node
    • Fix T48838 Tiling sculpt problem with custom brush
    • Fix T48679 Bone transform only alters between translation and rotation
  • Cycles
    • Fix SSS with spatial splits and motion blur
    • Fix wrong order of light manager update tag (was missing updates on viewport updates)
    • Fix missing mesh flags update when tweaking shaders
    • Fix difference in Ashikhmin Shirley shader between CPU and GPU
    • Fix wrong check for object is behind camera after recent fixes (camera space cull feature)
    • Fix wrong projection coordinates for points behind the camera (camera space cull feature)
    • Added fundamentals to (unit)test constant folding
  • OpenSubdiv
    • Use proper material index (was doing wrong shading in viewport)
    • Fix missing support of flat shading in textured viewport
    • Support shadeless shading
    • Fix opensubdiv option obscuring the interface (did not recover OGL state as it should)
  • Depsgraph
    • Use proper check whether ID is an object (solved speed regression reported by JP)
    • Proper fix for buffer overflow in volume intersect all

Fixed: 8, Closed: 22.

Week 243: 1st - 7th August

  • General development
    • Was very sad because Campbell decided to step back from Blender development :(
    • Make Audapsace work with Jack and no libjack-dev package installed
  • Bug-tracker work
    • Fix T49010 Portals don't work in recent Blender versions
  • Cycles
    • Spent quite some time looking into CUDA8 support. Ended up using CUDA7.5 for everything except for GTX10x0 cards.
    • Report human-readable string of OpenCL compilation error code
    • Blew dust away from shadow catcher patch, investigated various approaches to proper mplementation.

Fixed: 1, Closed: 6.

Week 244: 8th - 14th August

  • General development
    • Spent time making sure Linux release environment has Alembic support
  • Bug-tracker work
    • Fix T49027 Sequence uses too much memory when rendering scene with lots of movie strips
    • Fix T48916 Proxy Custom File is broken
  • Dependency graph
    • Was mainly looking into missing relations update tag when it's needed (being more granular and having all IDs covered by depsgraph requires some extra relations update tagging in comparison with old depsgraph)
  • Cycles
    • Worked on shadow catcher, investigating various workflows using such a feature.

Fixed: 2, Closed: 5.

Week 245: 15th - 21st August

  • General development
    • Was mainly a hardware week in the studio, making sure all the machines around are properly installed and everything.
    • Fixed sound in the meeting room.
    • Reviewed 2D stabilizer patch and applied it with some further tweaks.
Unfortunately, later that week it was some regressions spotted, working with Hermann on solving them.
    • Spent full weekend in the studio fixing the biserver.
  • Bug-tracker work
    • Fix T49086 UV Along Stroke can be set as vector input for environment texture
  • Cycles
    • Fix wrong allocator used for spatial builder
    • Re-worked shadow catcher patch to a new approach. Seems to be giving more accurate shadows now (at least now energy of light sources produces proper shadow). There are some possible artifacts reported, need to investigate more.

Fixed: 1, Closed: 3.

Week 246: 22nd - 28th August

  • General development
    • Spent the whole weekend and half of Monday trying to repair studio server.
    • Rest of the week was walking around the studio cursing everything.
    • 2D stabilization: Fix broken auto-scale all the recent work
    • Did Testbuild2.
  • Bug-tracker work
    • Fix T49140 Noise and jitter present at some areas when using ambient oclusion in Blender internal renderer
    • Fix T49121 VSE and border render incompatible
    • Fix T49130 "Inner Edge" / "Buffer Edge" options in the Double Edge Mask are wired to the wrong settings
    • Fix T49128 Ghost of Previous Mask appears in Double Edge Mask
    • Fix T49148 Blender Crash With B select on Skeleton Sketching
    • Fix T49078 Cycles tries to render volume from another render layer when camera is in volume
    • Fix T48788 Diffuse color in BI Textured Solid mode is not updating properly in Sculpting mode
  • Depsgraph
    • Was investigating speed different between old and new depsgraphs on the barber shop scenes. Notices quite significant speed regression when using new one -- was about 15-20%.
    • Started to work on solving this, and managed to reduce the gap to about 10%
    • Much more thoughts are to be put to solve remaining speed regression.
  • Cycles
    • Fix/workaround for missing AA on Pascal (GTX10x0) cards
    • Implement proper visibility check in CPU BVH volume all intersection

Fixed: 1, Closed: 6.

Week 247: 29th August - 4th September

  • General development
    • Movie clip: Add missing animation data RNA declaration
    • OpenSubdiv: Fix missing object ORCO when Subsurf uses OpenSubdiv but disabled for viewport
    • Fix glUniform called from glBegin/glEnd blocks
    • Did 2.78-RC1 with all the related bizz (running all the tests, etc).
  • Bug-tracker work
    • Fix T49181 Movie clip animation lost when invoking action which reloads the clip
    • Fix T49201 Mesh with OpenSubdiv subsurf and a texture disappears in Material viewport mode
    • Fix T49180 Cycles MIS Map for Animated Environment Texture Movie Doesn't Update on Frame Change
    • Fix T49220 Vertex paint doesn't work with OpenSubdiv
    • Fix T49226 Incorrect Material viewport shading of Cycles Normal Map node in Edit mode for an object with Array modifier

Fixed: 5, Closed: 5.

Week 248: 5th - 12th September

  • General development
    • Attempt to fix compilation error with static boost on certain platforms
    • Investigated ways of scaling image down. Figured some neat way of doing that with ImageMagic. Script for scaling splash down is in Git not. Gives results which are very close to the current splash.
  • Bug-tracker work
    • Fix T41883 Strip keyframes not respected for scenes rendered by other scenes
    • Fix T49286 Compilation error with XCode 7.0
    • Fix T49297 Crash related to custom data draw (Blender with ASAN)
  • OpenSubdiv
    • Fix missing ORCO when enabling OSD but having dependency to the geometry
    • Support multiple materials drawing in Cycles textured view
  • Depsgraph
    • Investigated and worked around flickering (missing bone updates) when swapping IK to FK using animation drivers/curves.
  • Cycles
    • Investigated and fixed render failures on GPU.
    • Prepared couple of patches, which are under review now:
      • Implement threaded SVM nodes compilation
      • Use XDG's .cache folder for cached kernels
      • Fix Overlapping emissive volumes generat unexpected bright hotspots around the intersection

Fixed: 3, Closed: 4.

Week 249: 13th - 18th September

  • General development
    • Fix memory leak in copy pose operator
    • Use temp .blend file copybuffer for pose copy-paste
    • OpenGL render: Skip GP passes if viewport has GP visibility disabled
    • OpenGL render: Avoid byte-float-byte roundtrip
    • OpenGL render: Move file writing to a separate thread
    • OpenColorIO: Add explicit linearSRGB -> sRGB lookup table to speed up color space conversion
  • Bug-tracker work
    • Fix T49336 Outliner allows to edit restrict flags for linked objects
    • Fix T49323 Ineffective bone roll calculation with low rig scale
    • Fix T49341 Bad motion blur behavior in Cycles when using Speed effect in Sequencer
    • Fix T49372 Fresnel node: difference between 2.76 and 2.78 GLSL output
  • Cycles
    • Implement threaded SVM nodes compilation
  • Depsgraph
    • Avoid some false-positive time dependencies of scripted drivers

Fixed: 4, Closed: 4.

Week 250: 19th - 25th September

  • General development
    • Particles: Add operator to quicly duplicate active particle system to the same object
    • Particles: Prevent crash when copying to an object with subsurf modifier
  • Bug-tracker work
    • Fix T49385 Copy buffer is not from pose mode. Report Error
    • Fix T49386 Blender crashes when told to load an OCIO LUT that does not exist
    • Fix T49408 OpenGL light widget breaks viewport shading
    • Fix T49391 Texture paint is not aware of disabled color management
    • Fix T49422 Metadata not showing in OpenGL renders
    • Fix T49417 Cycles crash - can't use 5 Gigabyte Tile EXR texture file
  • Cycles
    • Don't sum up memory usage of all devices together for the stats
    • Prevent crash in special cases when object has less slots than mesh
    • Kept working on trying to have fast hair render on GPU without speed regressions in other scenes and trying to keep memory usage at least the same (as an opposite of using much more memory for faster render).

Fixed: 6, Closed: 4.

Week 251: 26th September - 2nd October

  • General development
    • Curve pinning: Allow pinning object data without animated object (feature for Colin)
  • Cycles
    • Looked into using open-source AMD driver for AMD. It's not currently usable, but allowed to spot some minor issues in Cycles kernel.
    • Fix typo in shader cancel routines (was not possible to abort execution)
    • Support earlier tile rendering termination on cancel for AMD OpenCL.
  • Depsgraph
    • Fix export image generated by export UV layout (was an issue with new depsgraph)
    • Normal edit modifier: Fix relation builder for the new dependency graph

Fixed: 0, Closed: 4.

Week 252: 3d - 9th October

  • General development
    • Fixes for OpenGL animation render. Was a mix of stupid and tricky issues caused by threaded base of IO now.
    • Spent some time setting up a new Dell hardware.
    • Bunch of other minor things.
  • Bug-tracker work
    • Fix T49501 Animations imported via alembic render with wrong or no motion blur

Fixed: 1, Closed: 7.

Week 253: 10th - 16th October

  • General development
    • OpenGL render: Fix missing file output after pressing Esc
    • Fix viewport active camera gets out of sync with scene camera in certain cases
    • Fix objects added via py being on the wrong layer when viewport is decoupled from scene
    • FFmpeg: Fix off by one error in number of detected frames in matroska container
    • Looked into revisions for 2.78a. Currently being discussed in the ML.
  • Bug-tracker work
    • Fix T49623 Immediately crash trying to render attached file in Cycles
    • Fix T49629 Graph editor normalize function doesn't work on f-curves with a constant key value
    • Fix T49622 Grease pencil not rendering out of VSE
    • Fix T49534 2.78 Wrong texture scaling in material viewport
    • Fix T49571 2d stabilize keys not visible in the Graph Editor and Dope Sheet
  • Cycles
    • Fix use of uninitialized variable in SSS (which additionally solved different render result of hair+SSS on AVX2 and SSE41 CPUs)
    • Looked into some vectorization optimization for AVX2, gives nice speedup (up to 10-15%) on a current generation i7.

Fixed: 5, Closed: 20.

Week 254: 17th - 23rd October

  • General development
    • UV Editor: Add filter option to control what is visible when Draw Other Objects is enabled
    • Worked towards 2.78a release, checking on the list for revisions to backport
    • Spent quite some time doing maintenance work, like restoring SVN repos after corruption and dealing with spam..
  • Bug-tracker work
    • Fix T49738 Hair Add Brush doesn't work
    • Fix T49797 Exception from scene update handler might leak external engine descriptors
    • Fix T49789 Compositor mix node interpolation bug

Fixed: 3, Closed: 16.

Week 255: 24th - 30th October

  • General development
    • Blender Conference week, crazy times..
  • Bug-tracker work
    • Fix T49827 Crash linking material while in Material viewport shading mode
    • Fix T49818 Crash when rendering with motion blur
  • Cycles
    • Fix static initialization order fiasco
    • Add AVX2 path to subsurface triangle intersection
    • Various SSE optimizations for math functions, bringing 5% speedup.

Fixed: 2, Closed: 3.

Week 256: 31th October - 6th November

  • General development
    • Post-conference week:
      • Monday was crazy day in the studio, nothing measurable done for Blender
      • Tuesday it was more like a day off agreed with Ton, hacking various things together with Keir, talking about possible things in Blender.
    • Moved to a new apartment!
    • Updated Ceres solver to the latest actual version (we'll need that for some UV improvements Keir and Aurel were working on on Tusday)
    • Solve threading conflict when calculating smooth normals (kudos also go to Dalai as he managed to reproduce the issue with really tiny file).
  • Bug-tracker work
    • Fix T49857 Blender crashes after adding texture node to compositing tree
    • Fix T49826 NEW-DEPSGRAPH - Texture is not updated after changing its space color
  • Depsgraph
    • Solved some false-positive errors printed to the console (simple patch, but takes some time to verify such issues are really false-positive)
    • Fix race condition writing drivers to array property (fixes flickering issue reported by Hjalti)
    • Bunch of little changes to speed up graph construction time by almost 2x (less latency on undo/file open!)

Fixed: 2, Closed: 1.

Week 257: 7th - 13th November

  • General development
    • Fix memory leak when Blender is build without Bullet and files with RB is opened
    • Consider Numpad Enter in pose slide operators
    • Majority of the week was spent on fixing dependency graph.
  • Bug-tracker work
    • Fix T49937 Blender is crashing because of Lamp Data Node
    • Fix T49838 Noise randomization for frame should be done per interframes as well
  • Depsgraph
    • Sound simple fixes, but getting down to the root of the issue on scenes with 1000s of bones is not fast at all :(
    • Fixed various issues related on multi-threading (mainly RW access of same bit fields).
    • Fixed various little bugs (which for some reason were not detected yet, copy-paste errors, using wrong relation source/target when building relations).
    • Fixed threading conflict in IK solver which uses Pole target.
    • Fixed various crashes when objects are using dependencies not linked to the active scene.

Fixed: 2, Closed: 2.

Week 258: 14th - 20th November

  • General development
    • Mainly dpesgraph fixes.
    • Some little things for the studio.
  • Bug-tracker work
    • Fix T50060 New depsgraph does not update mask animation
  • Depsgraph
    • Solved infinite loop happened in dependency cycles reporting, caused by some of optimization commit of the previous week.
    • Optimized bmain destruction time by like order of magnitude (avoid some ID remapping when we know that EVERYTHING will be thrown into canal anyway).
    • Fixed crashes in ToS files (again, optimization of proxies from the previous week is responsive for that. Threading conflict, needs deeper investigation)
    • Fixed crashes with iTaSC solvers (took some time to understand why things are done the way they are done, and verify that changing that way does not cause regressions. Well, next week expect fix for this iTaSC commit ;)
    • Fix missing animation of MovieClip animation
  • Cycles
    • Worked on an option to limit textures size for faster / lover VRAM viewport rendering. Required for Pablo in the studio.
    • As a part of the previous task made code much more manageable in Cycles side (there were similar functions copied 3 times, and some of them would have failed with 4K texture resolution, ugh)

Fixed: 1, Closed: 1.

Week 259: 21th - 27th November

  • General development
    • Evening project: fix compilation error on ppc64el, m68k and X32 architectures and Hurd kernel. Not strictly BF work, but fun to mention ;)
    • Fix bad default window draw method on latest AMD/ATI cards.
    • Was in workshop mode on Fri-Sun.
  • Bug-tracker work
    • Fix T49981 New Depsgraph - When camera is on inactive layer, it does not evaluate constraints
    • Fix T50034 Blender changes processor affinity unauthorized
    • Fix T50100 Cycles SeparateRGBNode Red socket defined wrong
  • Cycles
    • Implement texture size limit simplify option
    • Fix annoying unfixable fireflies on volume from barber shop
  • Depsgraph
    • Fix infinite viewport object update in Cycles render mode (workaround required for OSD broke new DEG)
    • Fix matrix_world driver source

Fixed: 3, Closed: 1.

Week 260: 28th November - 4th December

  • General development
    • Slow week after workshop, mainly maintenance work for build environments, finishing existing patches
    • Implement exposure/gamma for fallback implementation (mainly really handy for development when OCIO stays disabled)
  • Bug-tracker work
    • Fix T50094 Crash when viewport rendering point density texture
    • Fix T50075 Assert during debug render of hair_geom_transmission.blend
    • Fix T50116 Light threshold broke branched path tracer
  • Cycles
    • Fix correlation issues in certain cases
    • Disable AVX2 crash workarounds
    • Implement AVX2 path for curve intersection functions

Fixed: 3, Closed: 2.

Week 261: 5th - 11th December

  • Bug-tracker work
    • Fix T50122 SEGFAULT: OCIO configuration typo leads to segfault
    • Fix T46108 Cycles - Overlapping emissive volumes generates unexpected bright hotspots around the intersection
  • Depsgraph
    • Avoid some redundant relations in new depsgraph (gives slight speedup of evaluation)
    • Fix some infinite updates of Cycles viewport
    • Fixed missing relations in bone parent and Cast modifiers

Fixed: 2, Closed: 3.

Week 262: 12th - 18th December

  • General development
    • Was looking into possible time-savers for Andy, see Cycles section.
    • Investigated ways to reduce threading overhead in task scheduler to gain back performance loss form the new dpesgraph.
    • Gtest: Fix/workaround MSVC complains about use of struct with alignment
  • Bug-tracker work
    • Fix T50243 libmv_panography_test is broken
  • Cycles
    • Tweak curve segment (un)pack to handle more curve segments
    • Consider GGX/Beckmann/Ashikhmin of 0 roughness a singular ray (a base work for upcoming changes)
    • Experiment with replacing Sharp Glossy with GGX when Filter Glossy is used (in this configuration Filter Glossy can be used to reduce noise)

Fixed: 1, Closed: 3.

Week 263: 19th -25th December

  • General development
    • Not much activity in the Git this week.
    • Was mainly looking into the dependency graph proposal, which is now wrapped up and published.
    • Was also looking into some threading overhead issues with Bastien. This all gets quite tricky and perhaps all the overhead is as good as we can have =\
    • Looked into some optimizations and noise reduction for Cycles. Hopefully end of next working week there'll be showable results.

Fixed: 0, Closed: 2.

Week 264: 26th December - 1st January

Week off in Russia.