Class RenderTask

java.lang.Object
icyllis.arc3d.core.RefCnt
icyllis.arc3d.engine.RenderTask
All Implemented Interfaces:
RefCounted
Direct Known Subclasses:
OpsTask, TextureResolveTask

@Deprecated public abstract class RenderTask extends RefCnt
Deprecated.
This class abstracts a task that targets a single SurfaceProxy, participates in the RenderTaskManager's DAG, and implements the execute(OpFlushState) method to modify its target proxy's contents. (e.g., an OpsTask that executes a command buffer, a TextureResolveTask that regenerates mipmaps, etc.)
  • Field Details Link icon

    • RESOLVE_FLAG_MSAA Link icon

      public static final int RESOLVE_FLAG_MSAA
      Deprecated.
      Indicates "resolutions" that need to be done on a surface before its pixels can be accessed. If both types of resolve are requested, the MSAA resolve will happen first.
      See Also:
    • RESOLVE_FLAG_MIPMAPS Link icon

      public static final int RESOLVE_FLAG_MIPMAPS
      Deprecated.
      Indicates "resolutions" that need to be done on a surface before its pixels can be accessed. If both types of resolve are requested, the MSAA resolve will happen first.
      See Also:
    • CLOSED_FLAG Link icon

      protected static final int CLOSED_FLAG
      Deprecated.
      See Also:
    • DETACHED_FLAG Link icon

      protected static final int DETACHED_FLAG
      Deprecated.
      See Also:
    • SKIPPABLE_FLAG Link icon

      protected static final int SKIPPABLE_FLAG
      Deprecated.
      See Also:
    • ATLAS_FLAG Link icon

      protected static final int ATLAS_FLAG
      Deprecated.
      See Also:
    • IN_RESULT_FLAG Link icon

      protected static final int IN_RESULT_FLAG
      Deprecated.
      See Also:
    • TEMP_MARK_FLAG Link icon

      protected static final int TEMP_MARK_FLAG
      Deprecated.
      See Also:
    • mTargets Link icon

      @SharedPtr protected final @SharedPtr List<SurfaceProxy> mTargets
      Deprecated.
    • mTaskManager Link icon

      protected RenderTaskManager mTaskManager
      Deprecated.
  • Constructor Details Link icon

    • RenderTask Link icon

      protected RenderTask(@Nonnull RenderTaskManager taskManager)
      Deprecated.
      Parameters:
      taskManager - the creating drawing manager
  • Method Details Link icon

    • getUniqueID Link icon

      public final int getUniqueID()
      Deprecated.
    • numTargets Link icon

      public final int numTargets()
      Deprecated.
    • getTarget Link icon

      public final SurfaceProxy getTarget(int index)
      Deprecated.
    • getTarget Link icon

      public final SurfaceProxy getTarget()
      Deprecated.
    • addTarget Link icon

      protected final void addTarget(@SharedPtr @SharedPtr SurfaceProxy surfaceProxy)
      Deprecated.
    • deallocate Link icon

      protected void deallocate()
      Deprecated.
      Description copied from class: RefCnt
      Override this method to invoke de-allocation of the underlying resource.
      Specified by:
      deallocate in class RefCnt
    • gatherSurfaceIntervals Link icon

      public void gatherSurfaceIntervals(SurfaceAllocator alloc)
      Deprecated.
    • prePrepare Link icon

      public void prePrepare(RecordingContext context)
      Deprecated.
      This method will be invoked at record-time to create pipeline information and pre-bake input data on a background thread.
    • prepare Link icon

      public void prepare(OpFlushState flushState)
      Deprecated.
      This method will be invoked at flush-time to create pipeline information and build input buffers.
    • execute Link icon

      public abstract boolean execute(OpFlushState flushState)
      Deprecated.
      This method will be invoked at flush-time to execute commands.
    • makeClosed Link icon

      public final void makeClosed(RecordingContext context)
      Deprecated.
    • onMakeClosed Link icon

      protected void onMakeClosed(RecordingContext context)
      Deprecated.
    • isClosed Link icon

      public final boolean isClosed()
      Deprecated.
    • detach Link icon

      public final void detach(RenderTaskManager taskManager)
      Deprecated.
      This method "detaches" all the SurfaceProxies this RenderTask modifies. In practice this just means telling the drawing manager to forget the relevant mappings from surface proxy to last modifying render task.
    • makeSkippable Link icon

      public final void makeSkippable()
      Deprecated.
      Make this task skippable. This must be used purely for optimization purposes at this point as not all tasks will actually skip their work. It would be better if we could detect tasks that can be skipped automatically. We'd need to support minimal flushes (i.e., only flush that which is required for SkSurfaces/SkImages) and the ability to detect "orphaned tasks" and clean them out from the DAG so they don't indefinitely accumulate. Finally, we'd probably have to track whether a proxy's backing store was imported or ever exported to the client in case the client is doing direct reads outside of Skia and thus may require tasks targeting the proxy to execute even if our DAG contains no reads.
    • onMakeSkippable Link icon

      protected void onMakeSkippable()
      Deprecated.
    • isSkippable Link icon

      public final boolean isSkippable()
      Deprecated.
    • addDependency Link icon

      public final void addDependency(SurfaceProxy dependency, int samplerState)
      Deprecated.
    • dependsOn Link icon

      public final boolean dependsOn(RenderTask dependency)
      Deprecated.
    • isInstantiated Link icon

      public final boolean isInstantiated()
      Deprecated.
    • toString Link icon

      public String toString()
      Deprecated.
      Overrides:
      toString in class Object