Page MenuHome

[WIP] Compositor: Base classes for full-frame operations
AbandonedPublic

Authored by Manuel Castilla (manzanilla) on Apr 20 2021, 10:29 PM.

Details

Reviewers
None
Summary

This patch creates base classes for full-frame operations:

  • FullFrameOperation: Serves mostly as interface to require the implementation of update_memory_buffer and get_input_area_of_interest. All operations must implement these methods for the new system to work.
  • FullFrameBufferedOperation: Create a full-frame buffer and divides pixels execution in tiles (Multi-Threaded). Inherits from FullFrameOperation and WriteBufferOperation. Uses write_partial_buffer mechanism.
  • SingleThreadOperation: Create a full-frame buffer and executes pixels in one single tile. Inherits from FullFrameOperation and WriteBufferOperation. Uses write_full_buffer mechanism.

As output operations don't need output buffers, they'll inherit from NodeOperation and FullFrameOperation.

Diff Detail

Repository
rB Blender
Branch
base-full-frame-ops (branched from master)
Build Status
Buildable 14158
Build 14158: arc lint + arc unit

Event Timeline

Manuel Castilla (manzanilla) requested review of this revision.Apr 20 2021, 10:29 PM
Manuel Castilla (manzanilla) created this revision.
Manuel Castilla (manzanilla) retitled this revision from Compositor: Merge SingleThreadedOperation with WriteBufferOperation. to [WIP] Compositor: Base classes for full-frame operations.Apr 20 2021, 10:31 PM
Manuel Castilla (manzanilla) edited the summary of this revision. (Show Details)
  • Let operations add their output socket