Week 202345


  • Draw: Add Region Info Debug Group [PR #114578]
  • Fix: Enable Vulkan Workarounds [PR #114579]
  • Vulkan: Workaround for Unsupported R8G8B8 Vertex Buffer Formats [PR #114572]
  • Vulkan: Fix Issues surrounding Grease Pencil Drawing [PR #114659]
  • Cleanup: Remove unused r_data_format parameter [PR #114662]
  • Vulkan: Workbench Shadow Drawing [PR #114673]
  • Vulkan: Retarget Depth Range [PR #114669]
  • Vulkan: Reusing Textures from Pool [PR #114697]
  • Vulkan: Convert 3 Component Texture Formats [PR #114708]

Week 202344


  • Replace Stencil Test Not Working [PR #114314]
  • Mipmap Generation Pipeline Barriers [PR #114306]
  • Enable Optional Vulkan 12 Features [PR #114303]
  • Separate DataTransfer, Compute, Graphics Commands [PR #114104]
  • Cleanup: Vulkan: Replace FlagBits with Flags [[[:Template:PullReqeust]]]
  • Vulkan: Specify Pipeline Stages When Adding Barriers [PR #114457]
  • Vulkan: Readback Texture Views [PR #114411]



  • Fix #114224: Bone Disappear in Pose Mode [PR #114324, {PullRequest|114441}}]

Week 202343

Blender Conference

Week 202342


  • Prepare BConf presentation [1]
  • Add Support for sRGB Framebuffer Enablement [PR #113838]
  • Incorrect Node Socket Drawing [PR #113830]


  • Experiment using SpirV as compiler for OpenGL when supported.

Blender 4.0

  • Voronoi Texture support for legacy Intel GPU

Week 202341




  • Python gpu.state.scissor_test_set Not Updating State [PR #113642]
  • Force Workarounds Viewport Layer Array [PR #113572]

Week 202340



  • EEVEE-Next: Remove Unused Resources in Probe Capture Pipeline [PR #113276]
  • EEVEE-Next: Fix Crash With Exact 128 Resources [PR #113277]
  • EEVEE-Next: Fix Reflection Probes Sampling [PR #113281]
  • EEVEE-Next: Several Fixes Reflection Probes Workflow [PR #113347]


  • Overlay-Next: Fix Copy Uninitialized Texture [PR #113188]


  • Python: Update BGL Deprecation Warning [PR #112579]

Week 202339


Week 202338


  • Partial Update Byte Data Texture with Scaling Broken [PR #112834]
  • EEVEE: Fix Shader Compilation [PR #112890]
  • EEVEE-Next: Fix World Reflection During Raytracing [PR #112893]


  • Vulkan: Use Point Shaders When Drawing Points [PR #112906]
  • Vulkan: Rework Initializing/Allocating Textures [PR #112997]
  • Vulkan: Add support for Framebuffer Depth Blit [PR #112674]
  • Vulkan: Fix Blitting Extents [PR #113050]


  • Fix #113002: Fix Crash When Loading Previous Settings [PR #113016]

Week 202337


  • Vulkan: Submit after Compute Dispatch [PR #112505]
  • Vulkan: Fix Namespace Collision Between Shader Resources [PR #112511]
  • Vulkan: Postpone Resource Destruction [PR #112514]
  • Vulkan: Fix Generate Mipmaps for Array Textures [PR #112518]
  • Vulkan: Upload Uniform Buffer Attached Data [PR #112517]
  • Vulkan: Implement GPU_storagebuf_copy_sub_from_vertbuf [PR #112516]
  • Vulkan: Enable Device Features for EEVEE-Next [PR #112519]
  • Fix: Vulkan Grid Overlay [PR #112564]
  • Vulkan: Tag Missing Implementations [PR #112671]


  • Command Line: Remove Disabling SSBO [PR #112571]
  • Windows: Update Min OpenGL Version [PR #112575]
  • Fix: GPU Incorrect Padding For Globals [PR #112565]
  • GPU: Remove GPU_shader_storage_buffer_objects_support [PR #112572]
  • Fix 112641: OpenGL Shader Draw Parameter Workaround Broken [PR #112668]


  • Fix 110976: Sequencer Scope Artifacts on NVIDIA 30/40 Series [PR #112665]

Week 202336


Week 202335


Week 202334


  • Refactored GHOST_ContextVK making the state between GPU module and GHOST more reliable.


  • Code review of wireframe colors.
  • Code review of edit mode fresnel.
  • Bisecting texture-painting issue when using limited texture of 2k.
  • Researching VSE Glitch Windows/NVIDIA.

Week 202333


Most of the week was spent on designing and starting to implement a rewrite of how the swap chain of the Vulkan backend works. The new design is more in line with Metal (see [PR #111389] for details of the analysis).

Implementation has started at [PR #111473] with still a lot of todos left.

Week 202332


  • Fix: Memory Reserve Issue in Vulkan/Std140 [PR #111109]
  • Fix: Vulkan Use Resource After Free [PR #111111]
  • GPU: Add Dummy Backend For Unsupported Platforms [PR #110919]
  • Vulkan: Set Geometry Shader Capability [PR #111139]
  • Fix: Compilation Error When Compiling with Vulkan [PR #111203]

We detected a design-flaw in our API that resulted into that shaders could be defined, which would be incompatible with vulkan. Most time in the week was spent researching this, checking with other vulkan developers on this topic, experimenting with possible solutions and finally implementing one.

  • Vulkan: Report Incompatible Shaders [PR #111138]
    • Vulkan: Use Correct Interpolation Qualifier in Stage Interfaces [PR #111207]
    • Vulkan: Add Workaround for Mixed Interpolation Attributes [PR #111211]
    • Vulkan: Make Polyline Shaders Vulkan Compatible [PR #111210]
    • Vulkan: Convert Workbench Stage Interfaces [PR #111221]
    • Vulkan: Convert Grease Pencil Shaders [PR #111222]
    • Vulkan: Convert Eevee(-next) Stage Interfaces [PR #111224]
    • Vulkan: Convert Overlay Stage Interfaces [PR #111218]

Week 202331

GPU Module

  • GPU: Disable Multi-Bindings for AMD Official Drivers [PR #110882]
  • Vulkan: Shader Compilation Errors [PR #110891]
  • Vulkan: Error When Creating Windows Offscreen Context [PR #110892]
  • Fix: Compilation issue GCC13 with Vulkan [PR #110992]
  • Vulkan: Enable Draw Manager Test Cases [PR #110994]

Week 202329


  • Eevee-next: Extract Spherical Harmonics Cooefs from World Probe [PR #110110]
  • Cleanup: Silence Compilation Warning in eevee_materials [PR #110193]
  • Fix: Incorrect buffer types for reflection probes [PR #110194]
  • Fix: Data alignment in reflection probes data [PR #110202]
  • Fix: LOD selection reflection probes [PR #110234]
  • Fix: First Sample World Probe [PR #110238]
  • Fix: World Light Direction in Irradiance Cache [PR #110258]
  • Fix: Compiler warnings on Apple [PR #110260]

Week 202328


  • Fix: Eevee-next Compiler issue NVIDIA [PR #109891]
  • Fix: Reflection Probe Negative Shifting [PR #109823]
  • Fix: Eevee-next Looses Reflective World Light When Switching Shading Modes [PR #109901]
  • Eevee-next: Reflective Light Baking [PR #109909]

GPU Module

  • Fix: Usage of Incorrect Compile Directive [PR #109896]

Motion tracker

  • Cleanup: Remove Unused use_ambient_occusion Property [PR #109783]

Week 202327


Week 202326

Metal backend


  • Cleanup: Renamed WorldPipeline to BackgroundPipeline [PR #109495]
  • Fix: Unable to create Cubemap Arrays using GPU Wrapper [PR #109497]
  • GPU: Remove unused GPU_TEXTURE_USAGE_MEMORYLESS [PR #109492]
  • Eevee-Next: World Reflective Light [PR #108149]
  • GPU: Enable Cubemap Array Extension in Compute Shaders [PR #109546]
  • Eevee-next: World Irradiance Caching [PR #109516]

Week 202325


  • World probe [PR #108149]
  • Viewport HDRI override [2]
  • Reflection Probes [3]
  • World probe in irradiance cache [4]

Week 202324


  • Indirect Compute [PR #108879]
  • Context Resource Management: Keeping track of all contexts that have been created to allow to delete resources that are still bound to contexts that aren't the active one. [PR #108968]


  • Lookdev HDRI switcher

Week 202323


Week 202322


  • Workbench drawing


  • World lighting

Week 202321

  • Eevee-next: Reflection Probes
    • Recording of world background.
    • Adding world lighting to surfels.

Week 202320

  • Vulkan: Workbench [PR #107886]
    • SRGB Framebuffers GHOST SRGB swapchain
    • Convert to lower precision texture formats.
    • Blend state per color attribute
    • Read back of depth texture to support depth picking
    • Read back of a subarea of a buffer.
    • WIP: Add support for texel buffers (vertex buffers are working, but using a texture not).

Week 202319

  • Documentation about Vulkan [5]
  • Vulkan: Fix Compilation Issues on Windows [PR #107874]
  • Vulkan: Fix Incorrect Vertex Buffer State [PR #107875]
  • Vulkan: IndexBuffer as Subrange [PR #107871]
  • Vulkan: Initial Draw List [PR #107873]
  • Vulkan: AMD Swapchain [PR #107840]
  • Vulkan: Initial Graphics Pipeline [PR #106224]
  • Vulkan: Swap Chain [PR #107740]
  • Vulkan: Convert VertexBuffer to Contain Supported Attributes [PR #107733]
  • GPU: Added Tests For Blend state And Immediate Mode [PR #107834]
  • Vulkan: Make ShaderInput Optional [PR #107735]
  • Vulkan: Don't Use Tiled Drawing [PR #107728]
  • Vulkan: Ensure Minimum Size of VKBuffer [PR #107731]
  • Vulkan: Frame Buffer Flipping [PR #107743]
  • GPU: Initialize SRGB In TestCases [8759ae1760]
  • Vulkan: Extract Correct UniformBuf Name From Interface [PR #107736]

Week 202318

  • Vulkan: Share Device Between Contexts [PR #107606]
  • macOS: Reduce Edit Mode Drawing Artifacts [PR #107611]
  • Vulkan: Correct Aspectbits for Depth Textures [PR #107542]
  • Vulkan: Add FLOAT to SRGB and Depth24 Conversion [PR #107544]

Week 202317

  • Vulkan: Initial Graphics Pipeline [PR #106224]
    • Vulkan: Texture Unpacking [PR #107360]
    • Vulkan: Index Buffer [{{PullRequest|107358]]}
    • Vulkan: Conversions between Blender and Vulkan Enums [PR #107336]
    • Vulkan: Add streaming buffers [PR #107335]
    • Vulkan: Command Buffer [PR #107337]
    • Vulkan: Uniform Buffer [PR #107334]
    • Vulkan: Shader Interface Attribute Extraction [PR #107333]
    • GPU: Ensure Absolute Ratio During SDF-Widget Drawing [PR #107327]
    • Vulkan: Initialize Device Capabilities[PR #107302]
    • WindowManager: Context Creation [PR #107301]
    • Vulkan: Construct a Vulkan 1.2 Context [PR #107300]

Week 202316

Work in progress

  • Vulkan: Initial Graphics Pipeline [PR #106224]
  • Vulkan: Attach debug utils to GPU_debug_group [[[:Template:107217]]]

Blender 3.5.1

  • Fix #106704: Resolve flashing Metal viewport [PR #107215]
  • ImageEngine: Improve Performance and Quality [PR #107213]

Week 202315

Work landed in main

  • GPU: Fix Crash Sampling in Texture Paint Mode [PR #106791]
  • GPU: Use Same Type in Comparisons. [PR #106789]
  • ImageEngine: Improve Performance and Quality [PR #106803]
  • Fix #106672: MacOS/OpenGL doesn't draw anything Eevee related [PR #106887]
  • Vulkan: Fix Compilation Issue on Windows [PR #106932]
  • GPU: Add Texture Usage Parameter to GPUOffscreen [PR #106899]

Work in progress

Week 202314

  • CMake: Disable Options Depending on OpenEXR Dependecies [PR #106209]
  • Vulkan: Fix Compilation Error on Windows Platforms [PR #106539]
  • GPU: Use --debug-gpu-renderdoc For Renderdoc Integration [PR #106541]
  • Vulkan: Reduce Macro Unrolling In GLSL [PR #106538]
  • Vulkan: Enable Step-by-Step Debugging in Renderdoc [PR #106546]
  • Fix 106278: HD5500 Crashes When Switching to Eevee [PR #106535]

Week 202313

  • Vulkan: Clearing Framebuffer + Scissors [PR #106044]
  • Fix: Compiling Shader Builder [PR #106180]
  • CMake: Disable Options Depending on OpenEXR Dependecies [PR #106209]
  • Image Editor: Remove drawing artifacts [PR #106173]

Week 202312

Blender 3.5

  • Preparation Blender release 3.5
  • Cleanup: Remove references to Blender 3.7. [PR #106003]
  • Python: Limit BGL deprecation messages. [PR #106018]
  • Fix: Targa with Palette Shows Grayscale in Viewport [PR #106047]


Week 202311


  • Texture support for Vulkan: Still in development. In Vulkan the application is responsible for data conversions. As Blender is a content creation suite we have to handle much more variety of data conversions than other typical Vulkan applications. [PR #105762]
  • Report out workshops of last week [6]

  • Vulkan: Clearing Storage Buffers [PR #105487]
  • Vulkan: Add initial VkPixelBuffer [PR #105741]
  • Fix 105271: Luminance Matte not Working on NVIDIA [PR #105735]

Blender 3.5 release

  • Python: Unable to use gpu.state.scissor_test_set [PR #105850]
  • Write release notes

Week 202310


  • Planning meetings
  • Fix 194534: Image editor doesn't refresh after render.render [PR #105480]
  • Cleanup: Use CPP Wrapper to Clear SSBO in Eevee-next. [PR #105528]
  • Eevee-next: Use compute shader to clear clipmaps [PR #105560]
  • GPU: Replace old shader tests with shader builder [PR #105592]
  • GPU: Refactor API for Clearing Storage Buffers [PR #105521]
  • Vulkan: Push constants [PR #104880]
  • Vulkan: Fix Shader Compilation Issues. [PR #105562]
  • Vulkan: Automap Buffers [PR #105588]
  • Vulkan: Warn Developer When Layer Not Found [PR #105599]

Sculpt, Paint & Texture

  • Texture Painting: Fix Seam Bleeding of Non-Manifold Sections of Mesh [PR #105336]

Video Sequencer

  • Sequencer: Use Same Sampling As Rendering [PR #105612]

Week 202309


  • Vulkan: Calculate Correct Host and Device Memory Size. [PR #105244]


  • Compositor: Compositor Output should Follow Active Node. [PR #105235]

Week 202308


  • Vulkan: Push constants [#104880]
    • Test cases
    • Use Uniform buffers
    • Push constants
  • Vulkan: Refactor descriptor sets to be part of the shader interface.
  • Vulkan: Query limits of physical device. [PR #105125]
  • Vulkan: Add resolving of builtins to shader interface. [PR #105128]
  • Vulkan: Initial Uniform buffers support [PR #105129]
  • OpenGL: Fix issue resolving builtin uniforms
  • Vulkan: Resource Submission Tracking [PR #105183]

  • Add gpu.state.scissor_set/gpu.state.scissor_reset [#104911]
  • Fix crash grease pencil on Metal.

Sculpt, Paint & Texture

  • Texture: turn off clamping for new created data-blocks [#104747]

Week 202307

Week 202306

Vulkan Back-end

Week 202305

Vulkan Back-end

  • Migrated compute test cases to use GPUShaderCreateInfo [d4d4efd3d3]
  • Only add test infos and GLSL sources, when WITH_GTEST is enabled during build. [ce13d0d326]
  • Fixed several compilation errors and investigated why test cases where failing.
  • Found and fixed minor bug in Vulkan Memory Allocator [7]. VMA is a widely used open source memory manager for Vulkan. Issue is minor as it the bug happened when mis-using API.
  • Vulkan: Use guardedalloc for driver memory operations. [D17184]

Week 202304

Texture painting

  • Change approach for manifold meshes as it currently has to many artifacts and limitations. Idea is to replace the vertex based extension with an edge based extension. By doing that we can keep closer to the actual polygons on the mesh. [21eff2c0ac, #104005]
  • Review Support Automasking For Texture Paint [D15298]


  • Add subsampling filtermode to sequencer transform options. Improves quality when using scaled down strips.

Week 202303


This week I will be working mostly on making sure that the Metal backend is production ready.

  • Any add-ons that use OpenGL calls directly should not crash Blender. [D16996]
  • When using add-ons that use OpenGL should be reported to the user. [D16996]
  • Some crashes when using gpu module. [ff814ec5f6].
  • Attribute list in shader interface isn't updated when using Metal [17042].
  • Review: Fix T103433: Ensure Metal memory allocator is safe for multi-threaded allocation. Resolves crash when baking indirect lighting. [D17018]

Texture painting

  • Fix edge bleeding of non-manifold parts of meshes [D16963]
    • Fix artifacts when mixing multiple source pixels. Issue was that the second source was not found, due to incorrect search radius.
    • Some performance optimizations added threading, solved outstanding todos.
  • Add print_debug for generated uv islands. [884e14ac93]

Week 202302


  • Crash when using Limit textures. [#103075]
  • Update MacOS minimum requirement to 10.15 for Blender 3.5 [D16953]
    • macOS: Remove user notifications [D16955]
    • macOS: Silence OpenGL deprecation warnings [387fc9b40b]
    • macOS: Replace PboardTypes with PasteboardTypes. [eeff49a3b1]

Texture painting

  • 3D Texturing: Fix seam bleeding non-manifold meshes [#101739]
  • 3D Texturing: Replace pointers with indexes in pbvh_uv_islands [D16752]

Patch Review

  • Fix uninitialized UVs when painting in sculpt mode [D16981]

Week 202301


  • Eevee: Mark Properties on Samples Panel Animatable [D16827]

Texture painting

  • Fix seam bleeding for non-manifold edges.
  • 3D Texturing: Replace pointers with indexes in pbvh_uv_islands [D16752]

Code review

  • Fix empty asset index files after bug in asset loading [D16678]


  • Meeting about personal development with consultant.