Weekly reports of Jeroen Bakker (atmind) latest report will be on the top.

Week 201950: 2019/12/09 - 2019/12/15

This week I will spend a most of my time in the bug tracker code reviews and work out some proposals for the viewport and color management.

Bug Fixes

  • [T72161]: Material Attribute Node in Linear Space
  • [T72353]: Viewport: Camera Limits visible when overlays are turned off
  • [T72124]: Lookdev Spheres render black
  • [T70512]: Viewport clipping ALT+B in lookdev, rendered displays some data clipped, some not...
  • [D6391]: Cycles/OpenCL: Remove NULL PTR Workaround
  • [T72220]: Edit mode orange overlay visible when 'Show overlays' is OFF


  • [T72424]: Design: Painting Color Management
  • [T72420]: Design: DrawEngine Color Management
  • [T72007]: Design: EEVEE Compositing (click for nice video)

Next week I am planning to do more bug fixing and code reviews

Week 201949: 2019/12/02 - 2019/12/08

The unification of the overlay engine has been committed to master. There are regressions that we need to fix, UI we need to improve.

Week 201948: 2019/11/25 - 2019/12/01

This week Clement is visiting Blender Institute so I would like to go over the outstanding patches. The new implementation of the overlay engine has been send for review as this is a large patch this would take me a lot of time to review.

We checked the long outstanding patches and reviewed the ones that could land before the overlay unification project (D6296). These included patches that improves drawing performance (T70167), and viewport rendering performance (T71364), and removal of EEVEE render artifacts when using many samples (>256) (D6245).

Showing the EEVEE renderpasses in the viewport also landed. It requires some changes to RenderResult but the main use cases are working. (T69476)

Week 201947: 2019/11/18 - 2019/11/24

If everything goes to plan we should be able to detect what the exact issue with NAVI + Linux + Blender is and if it is possible to create a work around for the issue. Rest of the week I would spend on code review and color management proposal

  • [T70243]: AMD Linux NAVI
  • [T71357]: DrawManager Color Management Design
  • [T71178]: Image UV Editor: UI Changes
  • [T67530]: Add Drawing Of Image/UV Editor to the Draw Manager
  • [D6278]: UV Editing: Scale To Bounds (GSoC 2016 UV Editing tools)

Week 201946: 2019/11/11 - 2019/11/17

  • [T71382]: EEVEE Renderpasses in 3D Viewport
  • [T71479]: Cycles OpenCL Performance
  • [D6245]: EEVEE renderlayers render artifacts

Week 201945: 2019/11/04 - 2019/11/10

Spend time planning and discussing the projects I will be executing the next few months.

  • Executed a GPU Cycles Render Benchmark for the release notes
  • [T71357]: Draw Manager Color Management Plan
  • [T71364, D6195]: Viewport Rendering Performance: GPU Color Management
  • [T71382]: EEVEE Renderpasses in 3D Viewport
  • [D6206]: EEVEE Using GPU to calculate renderpasses

Week 201944: 2019/10/28 - 2019/11/03

3 subjects on my desk, retopology drawing, checking UDIM branch for workbench support, fixing bugs.

  • [T70735] Vertex/Weight paint frame stroke with symmetry options enabled
  • [T70267] Retopology overlay
  • [T67981] Refactor Curve Extensions Horizontal vs Extrapolate according to new specifications.

Week 201943: 2019/10/21 - 2019/10/27

BConf2019; Had meetings about cycles development, color management and retopology. Started working on a prototype for migrating the image editor to the draw manager. This prototype will indicate how much work it is to migrate as-is so we can plan the rest of the editors.

Week 201942: 2019/10/14 - 2019/10/20

  • [T70288]: Workbench remove background dithering.
  • [T57739]: Wireframe: Camera Background Images
  • [T69709]: Face Orientation: Support for transparent objects
  • [T70267]: Overlay: Retopology
  • [D6076]: Volumetrics: incorrect voxel size in debug overlay
  • [T70868]: Matching volumetrics debug overlay
  • [T70167]: Workbench NVIDIA: improve performance by reusing data.

Week 201941: 2019/10/07 - 2019/10/13

Together with Sybren we gave training to Pipeline, Engine, AR/VR Developers and TDs.

  • [T70512]: Disable Viewport clipping for material and rendered mode

Week 201940: 2019/09/30 - 2019/10/06

The whole week I spend on implementing platform support level feature. The idea is to better inform users when there platform is known to have issues. This hope that this in the end leads to less bug reports and so more time to spend on other tasks or on actual development.

This is quite a big feature as we had to be able to draw a message to the user without using any fancy OpenGL. In Windows we use the MessageBox/Dialog API but in Linux we uses low level X11 API so we don't need to add other dependencies.

  • [T70416]: Platform Support Level

Week 201939: 2019/09/23 - 2019/09/29

More bug-tracking. Mostly viewport related stuff and hard to reproduceable stuff. Also code reviewing sculpting patches.

  • [T70187]: AMD MESA Driver Bug
  • [T70267]: Retopology Overlay
  • [T57739]: Show background images in Wireframe mode + Workbench

Week 201938: 2019/09/16 - 2019/09/22

This week I will spend my time in reviewing patches, and solving viewport and GPU driver related issues.

  • [T69972]: Solve driver issues when using AMD driver (Andeline 19.9.2)
  • [T68457]: Cycles: Fixed rendering using displacements wth simple scenes.
  • [T69995]: Object Solid Draw type coloring issues
  • [T65988]: Cycles: Camera Background Images
  • [D5860]: Cleanup: remove BLI_bf.h

Week 201937: 2019/09/09 - 2019/09/15

Last week for new features. The start of the week will be focused on finalizing the Viewport Render passes option and helping out with some patch review. Any time left will be spent on bug-fixing viewport related issues.

  • [T69476]: Cycles: Show Render passes in the 3d viewport
  • [D5750]: Depsgraph: Add support for local view
  • [T61797, T69784]: Cycles: Support for local view in 3d viewport
  • [T69780]: Local/Global View handles light differently between Blender 2.79 and Blender 2.80
  • [T69377]: Texture flickering when circle select in edit mode
  • [D5784]: Small memory reduction patch for cycles viewport rendering.

Code review [D5761, D5779]

Week 201936: 2019/09/02 - 2019/09/08

This week was focused on the new setup of shading modes.

  • [D5612]: Shading Modes changes including HDRI selector for Cycles.
  • [T66950]: Bone selection in weightpaint mode
  • [T67229]: Cycles/EEVEE: Change Strength of Viewport HDRI
  • [T63755]: Added Support UV Stretching overlay when editing multiple objects
  • [T69476]: Cycles: Show Render passes in the 3d viewport

Week 201935: 2019/08/26 - 2019/09/01

This week focused on smaller projects that fit within the 2.81 schedule.

  • [D5612]: Shading Modes changes including HDRI selector for Cycles.
  • [D5335]: Workbench: Specular Highlighting for MatCaps
  • [D5439]: Cycles: OpenCL Separate Compile Debug Flag
  • [T66950]: Bone selection in weightpaint mode
  • [T67229]: Cycles/EEVEE: Change Strength of Viewport HDRI
  • [[1]]: Fixed Wrong UV Stretching calculation due to threading issues

Next week I will put my effort into UV stretching drawing and UV stretching when having multiple objects in edit mode.

Week 201934: 2019/08/19 - 2019/08/25

Took the week off for some R&R.

Week 201933: 2019/08/12 - 2019/08/18

Took the week off for some R&R.

Week 201932: 2019/08/05 - 2019/08/11

  • [T67638]: DrawManager stretched camera background images are squashed when rotated
  • [D5439]: Cycles Standalone: OpenCL Kernel Compilation
  • [D5437]: Camera Background Image Transparency (WIP)
  • [T68449]: Remove Unimplemented Display Edges option in UV Editor

Week 201931: 2019/07/29 - 2019/08/04

This week I had some time off and visited SIGGRAPH2019.

Week 201930: 2019/07/22 - 2019/07/28

Bug Fixing

  • [T67437]: Sculpting: Vertex Colors Not Visible During Sculpting
  • [T65924]: Cycles OpenCL: Windows + AMD Vega rendering stalls.
  • [D5335]: Workbench: Specular Highlighting for MatCaps
  • [T67587]: Render artifacts Weight/Vertex painting in wireframe mode (non x-ray)

Week 201929: 2019/07/15 - 2019/07/21

Blender 2.80 Release

  • [T66811]: Render Glitch WeightPaint + EEVEE SSR
  • [T66489]: Fix Camera Images Interfere During Selection
  • [T65924]: Cycles OpenCL: Windows + AMD Vega rendering stalls.
  • [T66968]: Textual change texture paint opacity
  • [T67127]: Fix Crash Adding New Mask Layer
  • [T67105]: Fix Missing Updates Camera Background Images
  • [T67025]: Disable Viewport Clipping when Workbench isn't active
  • [D5301]: Tweak number of samples reported during cycles viewport rendering

Look Development

  • [T66746]: Use External Render Engines for Look Development
  • [T67128]: Use Cycles for Look Dev Mode
  • [T67220]: Change the intensity of the Look Dev HDRI

Week 201928: 2019/07/08 - 2019/07/14

  • [T66100]: Banding Issues Workbench
  • [T66544]: Fix Linux/AMD Pro crashes during allocating textures
  • [T66746]: Use External Render Engines for Look Development (WIP)
  • [D5231]: Fix crash running GPU shader.format_calc() with attributes like gl_VertexID
  • [D5227]: BackgroundImages: use camera shift
  • [D5239]: Fix crash HD Graphics 4000 Series On Windows
  • [T66671]: Fix Memory Leak when making render previews

Week 201927: 2019/07/01 - 2019/07/07

  • Blender 2.80 manual (NLA editor)
  • Defining projects + roadmap for Painting & Sculpting module
  • [D5171]: Grease Pencil: Fix Render Artifacts
  • [T66100]: Banding Issues Workbench
  • [T66405]: Removed glVertex from the Python documentation
  • [T66416]: Workbench Support MatCap + Texture
  • [T66421]: TexturePaint: Force Workbench Color mode to Texture

Week 201926: 2019/06/24 - 2019/06/30

  • [T64796]: Texture Paint Smear Brush Default Radius
  • [D5137]: Grease Pencil: Remove unneeded view state in storage list
  • [D5136]: Workbench: Memory Leak during MultiView rendering
  • [T65893]: Fix edit mesh culling when deformed object is outside viewport
  • [T66175]: Paint mode face mask drawing
  • [T66209]: Compositor Fit background + UI Scale

Week 201925: 2019/06/17 - 2019/06/23

  • [T62876]: Camera Background Images
  • [T65745]: Bone Selection X-Ray Drawing
  • [T65914]: Workbench Transparency Film
  • Blender 2.80 manual (Scene Layout / Object)

Week 201924: 2019/06/10 - 2019/06/16

This week was mostly occupied with writing the Blender 2.80 Manual (3d Viewport, Sculpting + Painting, Scene Layout/Object)

Week 201923: 2019/06/03 - 2019/06/09

  • [D5021]: Workbench: Fix World Space Cavity Shader iterations during Rendering
  • [T65287]: GPU Create High Bitdepth MultiSample Offscreen buffers
  • [T61768]: EEVEE: Offscreen Rendering via API
  • [T65554]: Sequencer OpenGL Render : Annotations don't scale with resolution scale
  • [T65381]: Hair rendering in EEVEE and Workbench
  • [T64615]: Texture Paint Overlay Visual Glitch

Week 201922: 2019/05/27 - 2019/06/02

  • [T64849]: DrawManager: Separate color management from image rendering
  • [T65206]: EEVEE: Fix Crash Baking with volumetrics
  • [T65191]: Grease Pencil: Cycles Rendering without overlays did not draw GPencil
  • [T65225]: Mesh Analysis: incorrect shaded with x-ray turned on
  • [T63862]: Quick Edit: rendered overlays + transparency
  • [T62282]: Sculpting: Multires + Smooth shading
  • [T64333]: Sculpting: modifiers not visible in workbench

Week 201921: 2019/05/20 - 2019/05/26

  • [T64849]: Support MSAA during Viewport Rendering
  • [T64849]: Support TAA during Sequence strip preview
  • [T62070]: Sculptmode Modifiers in workbench + wireframe mode
  • [T64947]: FXAA Render artifacts
  • [T64988]: DrawEngines Depth of Field units
  • [T62767]: Compositor File Output Node (multiview)
  • [T63176]: Compositor stripes when using scale operation
  • [T65035]: Workbench Alpha in texture mode
  • [T63050]: Compositor File Output Node (data conversion)
  • [T64922]: EEVEE Volumetrics crash

Week 201920: 2019/05/13 - 2019/05/19

  • [T62947]: Support Box Selection Windows + Intel HD620
  • [T64567]: UI: Sampling rename Viewport => Render Viewport
  • [T64505]: EEVEE: Incorrect Window Coordinates Viewport Rendering
  • [T64417]: Preferences/Workbench: Incorrect 3D Viewport AntiAliasing
  • [T64466]: EEVEE: Intel Compiler Bug
  • [T64646]: EEVEE: Viewport Rendering Anti-Aliasing
  • [T54649]: Cycles/EEVEE: Unify Film Transparency
  • [T54649]: Cycles/EEVEE: Unify Depth of Field

Week 201919: 2019/05/06 - 2019/05/12

  • [T64083]: Draw border around themes icons
  • [T63099]: Grease Pencil Render Layers
  • [T55617]: Object Selection Multiple View Layers
  • [T64302]: Fix: Objects not visible when overlays where turned off in cycles
  • [T64132]: Workbench AA Method for viewport as user pref setting.

Week 201918: 2019/04/29 - 2019/05/05

  • [T62517]: Performance Sequencer Scene Strips
  • [T60847]: Performance Viewport Rendering
  • [T63525]: Reuse Drawmanager Depth buffer in Cycles Viewport rendering
  • [T64083]: Draw border around themes icons
  • [D4778]: Manual: Render/Workbench

Week 201917: 2019/04/22 - 2019/04/28

  • [T57000]: Vertex Color in Workbench
  • [T63680]: Mesh Analysis Overlay
  • [T63867]: Remove Dynamic Paint Preview Option
  • [T62070]: Workbench - Sculpting With Deformed Mesh

Week 201916: 2019/04/15 - 2019/04/21

  • [T62449]: Hiding faces in Texture paint mode
  • [T57000]: Vertex Color in Workbench
  • [T63517]: Enable Axis Aligned Ortho Grid overlay
  • Mesh analysis overlay

Week 201915: 2019/04/08 - 2019/04/14

  • [T63312] Fix crash xray + border clipping
  • Participated in many meeting in the home stretch week

Week 201914: 2019/04/01 - 2019/04/07

  • [T62876] Show Camera Back Texture in wireframe
  • [T63077] Support Mixing transparent + texture materials during deferred rendering.
  • [T63056] EEVEE+Workbench: render particles in image rendering
  • [T63292] Workbench Texture drawing when no material
  • [T63223] EEVEE crash not able to allocate texture memory, when enough memory available

Week 201913: 2019/03/25 - 2019/03/31

  • [T62874] Fix Crash Transparency + Texture drawing workbench
  • [T62189] Fix Occluded Wires when edit face drawing disabled
  • [T62965] Fix Crash WeightPaint/VertexPaint
  • [T62479] Show object outliner+workbench shadows for displist type of objects
  • [T62876] Show Camera Back Texture in wireframe

Week 201912: 2019/03/18 - 2019/03/24

  • [T60820] Fix Workbench to render with odd number of AA samples
  • [T59046] Fix LookDev QuadView
  • [T61023] Fix world clipping with transparency
  • [T60211] Fix memory leak converting Curve to Mesh
  • [T62248] Fix Compositor Crop node by default not usable
  • [T62772] Fix Alpha Texture Rendering in Texture painting
  • [T62785] Improve Compositor Viewer Node Link
  • [T62810] AA reversed in workbench
  • [T58727] Implement drawing of stencil masks for texture painting.
  • [T62774] Disable edit mode overlays when overlays are disabled.
  • [T62356] Fix memory leak volumetrics rendering EEVEE.
  • [T61816] Fix Array Modifer crashes when Merge, Adjust Edit Cage, Start/End Cap, and Edit Mode are enabled.
  • [T62717] Support Switching Drawing Engines When Sculpting

Week 201911: 2019/03/11 - 2019/03/17

  • [D4485] Reduce the number of recompilation events
  • Fixed bug [T62145]
  • Prototype precompiling kernels.

Week 201910: 2019/03/04 - 2019/03/10

  • [T58953] IES Light texture not working for Opencl GPU render
  • [D4485] Reduce the number of recompilation events
  • [D4428] Background Compilation of Kernels during BVH building
  • [D4481] Removal of OpenCL Single program compilation
  • Research on SPIR to distribute some kernels with blender. (Note: not going to implement due to driver support)

Week 201909: 2019/02/25 - 2019/03/03

  • [T61752, D4428] Cycles OpenCL: Background Compilation of Kernels during BVH building. When in foreground render and the kernels are being build, the system will use an AO kernel. This way users can still interact with the scene.

Week 201908: 2019/02/18 - 2019/02/24

  • [T61513] Volumetric compilation times
  • [T61463] Split bake kernels in own programs
  • [T61576] Do not compile kernels that are not needed
  • [T61501] Reduce kernel recompilations
  • [T61466] Merge small serial kernels
  • [T61700] Do not compile baking kernels twice.
  • [T61736] Remove mega kernel

Week 201907: 2019/02/11 - 2019/02/17

  • Researched what kernels with what compilation directives takes a long time to compile.
  • [T61461] Researched what the distribution of a specific node compared to the total compilation time.
  • [T61459] Created a list of tasks that we will do in the first iteration.
  • [T61513] Reduced OpenCL volumetric compilation times.
  • [D2264] Bundled kernels that compile quickly into a single program.
  • [D4349] Reverting single kernel patch. multi kernel is faster since D2264 was accepted.

Week 201906: 2019/02/04 - 2019/02/10

  • Researched how LuxRender, ProRender structured their kernels.
  • Revamped support multithreaded compilation of kernels D2264 (Original patch by Lukas Stockner). BMW compilation time reduced from 55 seconds to:
    • 40 seconds (cycles.debug_opencl_kernel_single_program = True)
    • 20 seconds (cycles.debug_opencl_kernel_single_program = False)
  • Research on compilation times of Cycles OpenCL kernels

Week 201905: 2019/02/01 - 2019/02/03