Page MenuHome

Cycles: refactor API for GPU display
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Sep 24 2021, 9:48 PM.

Details

Summary
  • Split GPUDisplay into two classes. PathTraceDisplay to implement the Cycles side, and DisplayDriver to implement the host application side. The DisplayDriver is now a fully abstract base class, embedded in the PathTraceDisplay.
  • Move copy_pixels_to_texture implementation out of the host side into the Cycles side, since it can be implemented in terms of the texture buffer mapping.
  • Move definition of DeviceGraphicsInteropDestination into display driver header, so that we do not need to expose private device headers in the public API.
  • Add more detailed comments about how the DisplayDriver should be implemented.

The "driver" terminology might not be obvious, but is also used in other renderers.

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Sep 24 2021, 9:48 PM
Brecht Van Lommel (brecht) created this revision.
intern/cycles/render/driver.h
1

Call it display_driver.h

Rename to display_driver.h.

Brecht Van Lommel (brecht) marked an inline comment as done.Sep 30 2021, 4:53 PM

Fix incomplete patch update.

This revision is now accepted and ready to land.Sep 30 2021, 8:26 PM
This revision was automatically updated to reflect the committed changes.