User:MiguelPozo/WeeklyReports/2023
Week 1 (Jan 02 - 08)
Vacations!
Week 2 (Jan 09 - 15)
- Going through the review process for Workbench Next (D16826), implemented the requested changes.
- Fixed the compute-based culling (D17008) and the Debug Freeze (D17010) feature in the new draw manager.
- Worked on overall optimizations in the new draw manager. (uncommitted)
Week 3 (Jan 16 - 22)
- Add Freeze Culling support to Workbench Next (commit).
- Avoid creating unneeded handles in Workbench Next (optimization) (commit).
- Went through the Workbench commits of the last months, to avoid Workbench Next regressions:
- Fix for instance resource indexing in the new Draw Manager (D17069).
- Avoid runtime.bb allocation for DupliObjects in the draw code (needs feedback) (experimental branch).
- Use smaller ObjectBounds to improve performance (includes fixes) (needs feedback) (experimental branch).
- Cleanup the GLSL intersection code (needs feedback) (experimental branch).
Week 4 (Jan 23 - 29)
- Workbench Next has landed on Master! (commit)
- Workbench Next fixes:
- Improve Texture assignment operator (D17119) (Required for the matcaps fix).
- Clément asked me for help on virtual shadow maps, so I took a good amount of time learning about the technique.
Week 5 (Jan 30 - Feb 5)
- Workbench Next: Group passes by material (D17163).
- Fix T103903: Bump Node performance regression (D17198).
- Investigated an issue with dangling pointers in GPU Nodes.
Committed a temporal workaround to bypass the issue.
Week 6 (Feb 6 - 12)
- EEVEE Next: Tag shadowmap usage for transparent object volumes (PR #104580).
- Fix #104637, caused by refabe81c916
Week 7 (Feb 13 - 19)
- More work on shadowmap usage tagging for transparent object volumes (PR #104580).
- Fix #104709.
Week 8 (Feb 20 - 26)
- Low overhead handles for the new Draw Manager (used to avoid one full handle for each material slot in Workbench Next).
Two different implementations with different pros/cons (PR #105034 & PR #105175).
The final design will be similar to the first one, but avoids the need for an extra binding slot, which was the main con of that approach. - Fix #105042/#105175.
- Initial work on Workbench Next volumes.
Week 9 (Feb 27 - Mar 05)
- Final implementation for the low-overhead handles PR #105261. Now in addition to the object handle, each draw can specify an additional arbitrary custom ID. Workbench Next already used this system for indexing material parameters.
- Fixed original coordinates in the new Draw Manager r2a9f792c9e.
- Workbench Next volumes implementation (branch). Currently, they work exactly the same as in the current Workbench engine.
Week 10 (Mar 06 - 12)
- The dev plan shifted to giving EEVEE Next full priority, so I dropped the planned improvements for Workbench Next Volumes and made a clean-up and pull request for a 1:1 implementation PR #105501.
- Looked into bringing back and finalizing the EEVEE Next SSS implementation from the
eevee-rewrite
branch, but decided to leave it on standby until deferred shading is implemented (branch). - Started working on the EEVEE Next volumes implementation (branch).
- I was involved in the design discussion for the LineArt improvements proposal (devtalk thread).
Implemented a basic render engine skeleton for WangZiWei-Jiang to port his line extraction algorithm (branch).
Week 11 (Mar 13 - 19)
- Fixed a regression that caused EEVEE to be able to support fewer image nodes than before PR #105770.
- Updated the UDIM codegen to ensure each UDIM texture doesn't register more samplers than needed PR #105772.
- Implemented a surfels debug display utility to prepare for the development of GI in EEVEE Next PR #105802.
- Kept working on the EEVEE Next volumes port (branch).
Week 12 (Mar 20 - 26)
(4 days week, Monday was public holiday)
- Review PR #105921.
- Found and fixed an issue with
draw_procedural
not working withPassMain
(commit). - More work on EEVEE Next volumes (branch).
Week 13 (Mar 27 - Apr 02)
- EEVEE Next Irradiance Cache Display Grid (commit).
- EEVEE Next Shadow usage tagging for Irradiance Cache Surfels (commit).
- Improve GPUPass GC behavior PR #106386.
- More work on EEVEE Next volumes (branch).
Week 14 (Apr 03 - 09)
Vacations!
Week 15 (Apr 10 - 16)
- EEVEE Next volumes are almost ready (branch).
- Fixed material code generation.
- Fixed volume objects rendering.
- Lighting integration.
- Transparent surface integration.
- Other improvements, fixes, and cleanups.
Week 16 (Apr 17 - 23)
- EEVEE Next volumes pull request PR #107176
- Ported all the shaders to the compute pipeline.
- Optimized the volume object bounds. (Large performance improvement)
- Clean-up to prepare for the pull request.
- Initial implementation of the EEVEE Next Subsurface Scattering port. (branch)
Week 17 (Apr 24 - 30)
- Addressed some feedback from the EEVEE Next volumes pull request PR #107176.
- EEVEE Next Subsurface Scattering pull request PR #107407 (Feature complete, but SSS Transmittance energy is greater than Cycles with the same settings. Asked Clément for help on this one).
Week 18 (May 01 - 07)
(3 days work week due to public holidays)
- Overlay/Selection Next (branch):
- Refactor, replacing templates with construction time booleans PR #107734.
- Started porting DRW_cache shapes and their overlay/selection implementation.
Week 19 (May 08 - 14)
- Ported most shape cache functions from
DRW_cache
to Overlay Next. - Tracked a regression that broke Volume rendering in EEVEE and Cycles #107826, and fixed other similar (unreported) issues (commit).
- Addressed the feedback for the EEVEE Next Volumes PR PR #107176.
- Addressed the feedback for the EEVEE Next SSS PR PR #107407.
- Found and fixed a crash in EEVEE Next when the Scene doesn't have a World PR #107891.
Week 20 (May 15 - 21)
(4 days work week due to public holidays)
- Merged Workbench Next Volumes PR #105501.
- Cleanups and fixes in EEVEE Next Volumes PR #107176.
- Overlay Next (branch):
- Cleanups and fixes for PR #107734.
- Extras::InstanceBuffers refactor.
- Bounds and Collisions.
- Lights.
- Force Fields.
Week 21 (May 22 - 28)
- EEVEE Next: Image rendering and render passes fixes/improvements PR #108239.
- Fix Image and AOV rendering.
- Optimize image slot usage.
- Fix Diffuse and Specular Light passes.
- Add Environment and Shadow passes.
- EEVEE Next: Ensure correct material settings are used PR #108283.
- Initial work on EEVEE Next Ambient Occlusion (branch).
Week 22 (May 29 - Jun 04)
- Added missing Render Passes for:
- Volumes (Volume Lighting) PR #107407.
- Subsurface Scattering (Diffuse Lighting) PR #107176.
- Ambient Occlusion PR #108398.
- Other Ambient Occlusion improvements PR #108398.
Week 23 (Jun 05 - Jun 11)
- Overlay Next (branch):
- Refactor Extras code.
- Cameras.
- GroundLines, Points, and Line Rendering.
- Object Centers.
- Object Relationship lines.
- Fix Shader Builder compilation on Windows PR #108820
Week 24 (Jun 12 - 18)
- Created Overlay Next: Shapes and Extras PR #108984.
- Merged EEVEE Next Subsurface Scattering after addressing the review feedback PR #107407.
- Addressed review feedback for EEVEE Next Ambient Occlusion PR #108398.
- EEVEE Next: Improved sampler indices PR #108984 (merged).
- GPU: Print both resources on ShaderCreateInfo::validate_merge failure PR #109017 (merged).
Week 25 (Jun 19 - 25)
- Overlay Next (branch):
- Image Empties.
- Camera Background.
- Sculpt support for the new Draw Manager and Sculpt rendering in Workbench Next PR #109294.
- Fix RenderDoc and Nvidia compatibility PR #109214.
Week 26 (Jun 26 - Jul 02)
- Hair and Curves support for the new Draw Manager and Workbench Next implementation PR #109456.
- Point Clouds support for the new Draw Manager and Workbench Next implementation PR #109568.
- EEVEE Next: Ambient Occlusion Node and RenderPass merged after addressing feedback PR #108398.
Week 27 (Jul 03 - Jul 09)
- EEVEE Next:
- Volumes cleanup PR #107176.
- Point Clouds implementation PR #109832.
- Hair & Curves implementation PR #109833.
- Workbench Next:
- Fix regression with transparency depth 6335af74f2.
- Fix Overlay composition with "In Front" objects 3d62888ed6.
Week 28 (Jul 10 - Jul 16)
- EEVEE Next:
- Finish and merge Point Clouds PR #109832.
- Finish and merge Hair & Curves PR #109833.
- Motion Blur fixes (WIP) PR #110114.
Week 29 (Jul 17 - Jul 23)
- EEVEE Next:
- Motion Blur fixes PR #110114:
- Fix motion blur when using temporal re-projection.
- Fix per-vertex motion blur in final renders
- Overscan support for viewport and final renders PR #110313.
- Irradiance cache integration for Volume lighting 1202279fd4.
- Motion Blur fixes PR #110114:
Week 30 (Jul 24 - Jul 30)
- EEVEE Next:
- Add missing Volumes features (branch)
- Self-shadows.
- Shadow-map tagging and shading integration.
- Improve sampling.
- Use blue noise for the froxel jitter. (Experimental, fixes flickering on viewport navigation, but decreases final render quality)
- Initial Sculpt support implementation (Shadows are broken) (branch).
- Test and review Irradiance Bake Virtual Offsets PR #110355 and Dilation PR #110386
- Add missing Volumes features (branch)
Week 31 (Jul 31 - Aug 06)
- EEVEE Next:
- Finish and merge Motion Blur fixes PR #110114.
- Finish and merge Overscan support PR #110313.
- Fix viewport Render Region support PR #110761.
- Finish and merge Sculpt support PR #110703.
- Finish and merge Volumes support PR #107176.
- Move Volume lighting integration improvements to a new PR PR #110809.
- Fix Ambient Oclussion RenderPass 63f29fdcfe.
- Fix Normal RenderPass viewport display 2f6af7a4b9.
Week 32 (Aug 07 - Aug 13)
Vacations!
Week 33 (Aug 14 - Aug 20)
Vacations!
Week 34 (Aug 21 - Aug 27)
- Workbench Next:
- Workbench Next is now enabled by default PR #111403.
- Workaround lack of texture views to support the Windows ARM software driver PR #111402.
- EEVEE Next:
- Add shadow bias based on depth reconstruction precision PR #111478.
- Move the transmittance LUT to the Utility Texture to save a sampler slot in forward materials PR #111535.
- Fix Subsurface Scattering regression PR #111534.
- Fix Object Info -> Random 89dc2e1649.
- Fix World Volume material compilation error f57a8f07c0.
- GPU:
- Ensure Textures are not added twice to the same FrameBuffer PR #111531 (Fixes #111466).
Week 35 (Aug 28 - Sep 03)
- Workbench Next:
- Fix Overlay in-front compositing PR #111630 and 8ea2364e36.
- Fix Viewport Image Render 3acda70d8c and PR #111661.
- Innvestigated #111699.
- EEVEE Next:
- Fix Render Region and improve Film naming/documentation PR #111691.
- GPU:
- Fix Next engines support for Intel 4400/4600 #111587.
- Allow using the drw_debug API in any shader file and remove it from Release builds PR #111710.
Week 36 (Sep 04 - Sep 10)
- GPU:
- Fix #111699: Remove deleted interfaces from the VAO cache.
- Workbench:
- Remove the code from the old implementation and rename Workbench Next to just Workbench PR #111993.
- EEVEE Next:
- Fix lighting in scenes without shadow casters, as part of PR #110809.
- Merge all the small UBOs used by the engine to save binding slots PR #112046.
- Add basic support for running tests PR #112161.
- Add back data passes UI and missing passes (Position and Motion Vectors) PR #112162.
- Fix motion blur on image renders 1faa522880
Week 37 (Sep 11 - Sep 17)
- Workbench:
- Fix #112242: Allow xray in render mode.
- Fix #112211: Clamp infinite inputs in TAA.
- Fix #112231: Texture support in sculpt mode.
- Fix #112289: Always clear depth_in_front.
- Fix #112409: Cavity disabled when Xray is enabled.
- Sculpt fixes PR #112344:
- Fix #112284 and other non-reported sculpt-related regressions in the new Workbench.
- Cleanup ObjectState setup.
- Update
sculpt_batches_get
to support getting per material batches while passing SculptBatchFeatures. - Make material indices 0 based.
- EEVEE:
- Fix #111960: Shader compilation errors due to incorrect BuiltinBits::LAYER use PR #112245.
- EEVEE Next:
- Fix Velocity do_deform detection efb7455.
- Add data passes UI and missing passes (Position and Motion Vector) PR #112162.
- Fix SSS image rendering 27a36cc.
- Fix Hair and Curves motion vectors (WIP) PR #112425.
Week 38 (Sep 17 - Sep 24)
- Workbench:
- Fix #112675: Shadows disabled for active object.
- EEVEE Next:
- Fix Hair and Curves motion vectors PR #112425.
- Fix DupliObject ObjectKey PR #112544.
- Irradiance Grid:
- Fixes PR #112841 and 8fbfc991a5.
- Smooth transitions PR #112842.
- Object visibility settings for probes PR #112845.
- Clip End (WIP) (branch).
Week 39 (Sep 25 - Oct 01)
- Draw:
- Fix Circle select tool low performance #112164.
- Workbench:
- EEVEE Next:
- Irradiance Grid clip distance and probe alignment PR #112863.
- Ensure volume property textures are cleared PR #112871.
Week 40 (Oct 02 - Oct 08)
- Workbench:
- Fix performance regressions PR #113251 & c6194afc41.
- EEVEE Next:
- Automatic tests support PR #112161.
- Fix the DupliObject ObjectKey PR PR #113252.
- Double-sided option for GI PR #113362.
Week 41 (Oct 09 - Oct 15)
- Draw:
- Proposal: Improve per-object overhead in the Draw module #113771.
- Workbench:
- Fix resolve_shader_cache initialization 2b805e777a.
- Fix #113580: Always setup in_front_depth_tx 42aa97a080.
- Fix depth_in_front not being copied after the first sample 9e7a576cee.
- EEVEE Next:
- Expose Thickness output 2bafffd9f0.
- Rename light probes types PR #113452.
- Skip bake if there's not enough VRAM PR #113509.
- Fix Nvidia compilation error 25160def62.
- Fix Bake regression 26154aae81.
- Fix ObjectKey issue with padding bytes e235913c0d.
- GPU:
- Add GPU_max_storage_buffer_size PR #113516.
Week 42 (Oct 16 - Oct 22)
- Workbench:
- Fix Volume compositing f2ba12a053.
- Fix #113741: Reset TAA on overlay toggle e3014ffc27.
- EEVEE-Next:
- Review PR #113731: Add mesh volume bounds estimation.
- New shadow settings PR #113980.
- Shadows backface culling PR #113969.
- EEVEE:
- GPU:
- Add Texture::debug_clear PR #113781.
Week 43 (Oct 23 - Oct 29)
- Workbench:
- Fix thumbnail shadows #114096.
- EEVEE Next:
- Improve version updating for the new shadow options PR #113980.
- Track Material recalc updates WIP.
- Proposal for fixing DrawData recalc #114112.
- Add Material > Inflate Bounds option so frustum culling can work correctly with vertex displacement PR #114200.
- Sphere Probes viewport display and per-probe settings (Sphere and Volumes) #114176.
- Review PR #114150 and PR #114061.
Week 44 (Oct 30 - Nov 05)
- Workbench:
- Fix Shadows debug mode 2fc17f5afc.
- Investigate VR Session crashes on exit #114189.
- EEVEE Next:
- New Shadow settings PR #113980:
- Unify with Cycles settings.
- Inflate Bounds PR #114200:
- Inflate bounds after material sync.
- Add Manager::update_handle_bounds.
- Add GPU_material_has_displacement_output.
- Probes viewport display #114176:
- Add Plane Probes display.
- Investigate failing Shadow tests (TestAlloc and TestDefrag).
- New Shadow settings PR #113980:
- Review PR #114259.
Week 45 (Nov 06 - Nov 12)
- Workbench:
- Add support for "Channel packed" and "None" Alpha options #114377.
- EEVEE Next:
- Finished and merged PR #113980 and PR #114200.
- Fix shadow tests PR #114550. Fixes #113543 and (partially) #114235.
- Fix normal map node #114524.
- Fix Curves material compilation errors PR #114598.
- Fix Render region enforced even when disabled #114404.
- Found the cause, but didn't fix yet: #114144, #114130, #114131 and #114696.
- Initial NPR engine discussion.
Week 46 (Nov 13 - Nov 19)
- Workbench:
- Fix #114189: VR Session crashes on exit PR #114795.
- Fix #114918: Negative scaled sculpt mesh artifacts.
- EEVEE Next:
- Fix #114001: Wrong compositing with volumes+transparency
- Fix #114651: SSS NaNs PR #114928.
- Fix #114482: Wrong Texture Coordinates PR #115057.
- Sanitize closure nodes inputs PR #115059
- Fix #114291: Deferred transparency blending PR #115066.
- Discussion on recalc fixes/improvements #114112.
- Found the cause, but didn't fix yet: #114752.
- Draw:
- Fix #114742: Buffers never shrink PR #114857.
Week 47 (Nov 20 - Nov 26)
- Core:
- Add ObjectRuntime::last_update transform, geometry and shading PR #115196.
- EEVEE Next:
- Fix ObjectHandle::recalc PR #115243.
- Fix Motion Vectors for non float4 position buffers PR #115309.
- Fix MaterialKey 7ab622475d.
- Fix Texture Coordinate - Window PR #115057 (Update).
- Draw/GPU:
- Fix #115144: isect_data_setup compiler error PR #115175.
- Assert no UINT push constants are used f97580f665.
- Add Manager::update_handle_frustum_culling_test PR #115375.
- Investigate #115226: Nvidia shader compiler error : too many instructions.
Week 48 (Nov 27 - Dec 03)
- EEVEE-Next:
- Use Object::visibility_flag in MaterialKey PR #115575 (fixes #115488).
- Fix alpha hashed transparency not converging PR #115620.
- Scene sync improvements, fixes and simplification (WIP):
- Rely on the depsgraph to detect scene updates.
- Remove most sampling.reset() calls and their related logic.
- Get rid of GPU_material_recalc_flag_get (broken) and replace it with depsgraph update tags.
- Fix Lightprobe bake update tags.
- Core:
- Avoid duplicated Depsgraph operation nodes on geometry data PR #115615
Week 49 (Dec 04 - Dec 10)
- EEVEE-Next:
- PRs for last week's scene sync fixes and improvements (PR #115758 and PR #115760).
- Fix #115594: Crash with VDB 026cdb1058.
- Fix #115786: Texture paint delayed redraw 7ec59b05ff.
- Fix #115289: Negative scale lights 3360b6344f.
- Fix deferred tile stencil compilation b006bfe10b.
- Draw: Fix Volume coordinates regression 35cf616169.
- GPU: Avoid GPUMaterial/Pass collisions between engines PR #115819.
Week 50 (Dec 11 - Dec 17)
- EEVEE-Next:
- Fix motion vectors for static geometry 73a5826bf5.
- Add Light Path node support PR #116107.
- Fix #114284: Light cutoff with small radius b86d656df4.
- Fix DeferredProbelLayer emissive materials 7e4c2b2649.
- Fix from_up_axis sign (fixes surferls debug display) 6c40adcc36 & 937c4ed2c4.
- Fix Volume lighting 8e9ce4d03d & 9bf942dcc9.
- Fix #114168: Viewport image render sampling PR #116198.
- Prototypes:
- Remove forward opaque pipeline. c84f8d87d8
- Skip shadow rendering when disabled. 7c612784c7
- GPU:
- Add PROFILE_DEBUG_GROUPS PR #116304.
- Reuse GPUViewport when doing viewport render animations (fixes EEVEE-Next motion blur) PR #116199.
Week 51 (Dec 18 - Dec 24)
- EEVEE-Next:
- Partial World LightPath node support 7288201e96
- Fix #116031: Nishita sky does not work 89ec7f5360
- Fix #114168: Viewport image render sampling PR #116198
- Fix World.has_volume() a2317726ca
- Fix Volume closure evaluation 0e3dbcfae0
- Workbench:
- Fix #116403: Broken overlays with clipping planes PR #116441
- GPU:
- Add PROFILE_DEBUG_GROUPS PR #116304
- Reuse GPUViewport when doing viewport render animations PR #116199
- Print shader source on compilation error PR #116470
- Nodes:
- Fix #116424: UDIM texture user count e8c5f8dddf
- Fix #115226: Don't execute the same node twice a90fdd5246
Week 52 (Dec 25 - Dec 31)
Vacations!