User:Jbakker/reports/2023
Week 202345
Vulkan
- 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
Vulkan
- 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]
EEVEE
- Fix Infinite Loop With Reflection Probe [PR #114276]
- Fix Updating Reflection Probes [PR #114064]
- Update UI Names [PR #114272]
Overlay
- Fix #114224: Bone Disappear in Pose Mode [PR #114324, {PullRequest|114441}}]
Week 202343
Blender Conference
- Status update of the vulkan project https://video.blender.org/w/bnrF73ZFiXpLMUXN2E5Diq
Week 202342
Vulkan
- Prepare BConf presentation [1]
- Add Support for sRGB Framebuffer Enablement [PR #113838]
- Incorrect Node Socket Drawing [PR #113830]
OpenGL
- Experiment using SpirV as compiler for OpenGL when supported.
Blender 4.0
- Voronoi Texture support for legacy Intel GPU
Week 202341
EEVEE-Next
- Planar Probe Pipeline [PR #113203]
- Crash Removing Last Planar Probe [PR #113437]
- Planar Reflection During Sculpting [PR #113429]
- Planar Probes First Sample [PR #113440]
- Support for Intel ARC GPUs [PR #113447]
- EEVEE-Next doesn't stop sampling [PR #113484]
- Fix Fallback Shader Shadow Page Tile Store [PR #113649]
- Fix Compilation Errors [PR #113576]
- Scene Reflection Probe Resolution [PR #113491]
Vulkan
- Support for Framebuffer with Missing Attachments [PR #113141]
- Bundle Immediate Mode Calls [PR #113482]
- Skip Validating Transform Feedback Shaders When Not Supported [PR #113655]
- Remove Renderdoc Extension [PR #113654]
- Reduce Console Flooding [PR #113652]
- Add Viewport Array/Layer Workarounds [PR #113605]
- Fix Subpass Transition Compilation Errors [PR #113604]
- Image Editor Drawing [PR #113668]
GPU
- Python gpu.state.scissor_test_set Not Updating State [PR #113642]
- Force Workarounds Viewport Layer Array [PR #113572]
Week 202340
Vulkan
- Vulkan: Make Maintenance4 Extension Optional [PR #113239]
- Vulkan: Wayland Windowing [PR #113007]
- Vulkan: Enable as Experimental Option [PR #113057]
EEVEE-Next
- 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
- Overlay-Next: Fix Copy Uninitialized Texture [PR #113188]
Python
- Python: Update BGL Deprecation Warning [PR #112579]
Week 202339
Vulkan
- Vulkan: Wayland Windowing [PR #113007]
- Vulkan: Enable as Experimental Option [PR #113057]
Week 202338
EEVEE/Viewport
- 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
- 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]
Other
- Fix #113002: Fix Crash When Loading Previous Settings [PR #113016]
Week 202337
Vulkan
- 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]
GPU
- 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]
Sequencer
- Fix 110976: Sequencer Scope Artifacts on NVIDIA 30/40 Series [PR #112665]
Week 202336
Vulkan
- Add support for shader draw parameters [PR #111461]
- Fixed compilation issues [PR #111964]
- Add recently added shader types [PR #111962]
- Add tests for 1d, 2d array texture types [PR #111338]
Week 202335
AFK
Week 202334
Vulkan
- Refactored GHOST_ContextVK making the state between GPU module and GHOST more reliable.
Eevee/Viewport
- 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
Vulkan
- Vulkan: Use Correct Image Aspects [PR #111349]
- Vulkan: Bind Dummy Attribute Resources [PR #111350]
- Fix: Crash On Exit When Using Vulkan [PR #111462]
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
Vulkan
- 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
- 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
Eevee-next
- 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
Eevee-next
- Eevee-next: Octahedral mapping [PR #109559]
- Developers documentation can be found at https://developer.blender.org/docs/eevee_and_viewport/eevee/modules/reflection_probes/#octahedral-mapping
- Eevee-next: Lookdev HDRI switcher [PR #109548]
Week 202326
Metal backend
- Compiler infinite loop on Apple/AMD [PR #109358]
Eevee-next
- 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
Eevee-next
- World probe [PR #108149]
- Viewport HDRI override [2]
- Reflection Probes [3]
- World probe in irradiance cache [4]
Week 202324
Vulkan
- 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]
Eevee-next
- Lookdev HDRI switcher
Week 202323
Vulkan
- Cube(Array) support [PR #108794]
- Workbench Normals [PR #108797]
- Image Views [PR #108765]
- Debug name for descriptors [PR #108743]
- Unbind uniform buffers [PR #108742]
- UBYTE to SRGBA8 texture conversion [PR #108741]
- Fix Unbinding Images [PR #108740]
- Mipmaps [PR #108699]
- Workaround for 24 bit depth component [PR #108698]
Week 202322
Vulkan
- Workbench drawing
Eevee-next
- World lighting
Week 202321
- Vulkan: Workbench [PR #107886]
- Hair rendering
- 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
- Vulkan: Initial Graphics Pipeline [PR #106224]
- Vulkan: Initial Immediate Mode Support [PR #106954]
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]
Eevee/Viewport
- GPU: Renderdoc Frame Capturing [PR #105921]
- Vulkan: Resource Submission Tracking [PR #105183]
- Vulkan: Texture Data Conversions [PR #105762]
Week 202311
Eevee/Viewport
- 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
Eevee/Viewport
- 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
Eevee/Viewport
- Vulkan: Calculate Correct Host and Device Memory Size. [PR #105244]
Compositor
- Compositor: Compositor Output should Follow Active Node. [PR #105235]
Week 202308
Eevee/Viewport
- 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
- Vulkan: Initial support for compute shaders [#104518](https://projects.blender.org/blender/blender/pulls/104518)
- Index buffers
- Textures
- Vulkan: Push constants [#104880](https://projects.blender.org/blender/blender/pulls/104880)
- Updated an initial year planning for Vulkan [#68990](https://projects.blender.org/blender/blender/issues/68990)
- Planning is still under discussion and can change throughout the year, due to new insights and other priorities.
Week 202306
Vulkan Back-end
- Use Vulkan Memory Allocator
- Vulkan: Use guardedalloc for driver allocations (https://projects.blender.org/blender/blender/pulls/104434)
- Python: Suppress BGL deprecation messages after 100 times. [4bd3b02984]
- Equalize implementation of readback for IBO/VBO and SSBOs. (https://projects.blender.org/blender/blender/pulls/104571)
- Vulkan Compute shaders (https://projects.blender.org/blender/blender/pulls/104518)
- VBO support
- SSBO support
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]
Sequencer
- Add subsampling filtermode to sequencer transform options. Improves quality when using scaled down strips.
Week 202303
Eevee/Viewport
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
Eevee/Viewport
- 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/Viewport
- 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]
Other
- Meeting about personal development with consultant.