Package icyllis.arc3d.engine

# 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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final int`
  `ATLAS_FLAG`
  Deprecated.
  `protected static final int`
  `CLOSED_FLAG`
  Deprecated.
  `protected static final int`
  `DETACHED_FLAG`
  Deprecated.
  `protected static final int`
  `IN_RESULT_FLAG`
  Deprecated.
  `protected final @SharedPtr List<SurfaceProxy>`
  `mTargets`
  Deprecated.
  `protected RenderTaskManager`
  `mTaskManager`
  Deprecated.
  `static final int`
  `RESOLVE_FLAG_MIPMAPS`
  Deprecated.
  Indicates "resolutions" that need to be done on a surface before its pixels can be accessed.
  `static final int`
  `RESOLVE_FLAG_MSAA`
  Deprecated.
  Indicates "resolutions" that need to be done on a surface before its pixels can be accessed.
  `protected static final int`
  `SKIPPABLE_FLAG`
  Deprecated.
  `protected static final int`
  `TEMP_MARK_FLAG`
  Deprecated.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `RenderTask(RenderTaskManager taskManager)`
  Deprecated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final void`
  `addDependency(SurfaceProxy dependency, int samplerState)`
  Deprecated.
  `protected final void`
  `addTarget(@SharedPtr SurfaceProxy surfaceProxy)`
  Deprecated.
  `protected void`
  `deallocate()`
  Deprecated.
  Override this method to invoke de-allocation of the underlying resource.
  `final boolean`
  `dependsOn(RenderTask dependency)`
  Deprecated.
  `final void`
  `detach(RenderTaskManager taskManager)`
  Deprecated.
  This method "detaches" all the SurfaceProxies this RenderTask modifies.
  `abstract boolean`
  `execute(OpFlushState flushState)`
  Deprecated.
  This method will be invoked at flush-time to execute commands.
  `void`
  `gatherSurfaceIntervals(SurfaceAllocator alloc)`
  Deprecated.
  `final SurfaceProxy`
  `getTarget()`
  Deprecated.
  `final SurfaceProxy`
  `getTarget(int index)`
  Deprecated.
  `final int`
  `getUniqueID()`
  Deprecated.
  `final boolean`
  `isClosed()`
  Deprecated.
  `final boolean`
  `isInstantiated()`
  Deprecated.
  `final boolean`
  `isSkippable()`
  Deprecated.
  `final void`
  `makeClosed(RecordingContext context)`
  Deprecated.
  `final void`
  `makeSkippable()`
  Deprecated.
  Make this task skippable.
  `final int`
  `numTargets()`
  Deprecated.
  `protected void`
  `onMakeClosed(RecordingContext context)`
  Deprecated.
  `protected void`
  `onMakeSkippable()`
  Deprecated.
  `void`
  `prepare(OpFlushState flushState)`
  Deprecated.
  This method will be invoked at flush-time to create pipeline information and build input buffers.
  `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.
  `String`
  `toString()`
  Deprecated.

  ### Methods inherited from class icyllis.arc3d.core.RefCnt

  `create, create, getRefCnt, getRefCntAcquire, getRefCntVolatile, move, move, ref, unique, unref`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### RESOLVE_FLAG_MSAA

    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:
      - Constant Field Values

  - ### RESOLVE_FLAG_MIPMAPS

    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:
      - Constant Field Values

  - ### CLOSED_FLAG

    protected static final int CLOSED_FLAG
    Deprecated.
    See Also:
      - Constant Field Values

  - ### DETACHED_FLAG

    protected static final int DETACHED_FLAG
    Deprecated.
    See Also:
      - Constant Field Values

  - ### SKIPPABLE_FLAG

    protected static final int SKIPPABLE_FLAG
    Deprecated.
    See Also:
      - Constant Field Values

  - ### ATLAS_FLAG

    protected static final int ATLAS_FLAG
    Deprecated.
    See Also:
      - Constant Field Values

  - ### IN_RESULT_FLAG

    protected static final int IN_RESULT_FLAG
    Deprecated.
    See Also:
      - Constant Field Values

  - ### TEMP_MARK_FLAG

    protected static final int TEMP_MARK_FLAG
    Deprecated.
    See Also:
      - Constant Field Values

  - ### mTargets

    @SharedPtr protected final @SharedPtr List<SurfaceProxy> mTargets
    Deprecated.

  - ### mTaskManager

    protected RenderTaskManager mTaskManager
    Deprecated.

- ## Constructor Details

  - ### RenderTask

    protected RenderTask(@Nonnull RenderTaskManager taskManager)
    Deprecated.
    Parameters:
      `taskManager` - the creating drawing manager

- ## Method Details

  - ### getUniqueID

    public final int getUniqueID()
    Deprecated.

  - ### numTargets

    public final int numTargets()
    Deprecated.

  - ### getTarget

    public final SurfaceProxy getTarget(int index)
    Deprecated.

  - ### getTarget

    public final SurfaceProxy getTarget()
    Deprecated.

  - ### addTarget

    protected final void addTarget(@SharedPtr @SharedPtr SurfaceProxy surfaceProxy)
    Deprecated.

  - ### deallocate

    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

    public void gatherSurfaceIntervals(SurfaceAllocator alloc)
    Deprecated.

  - ### prePrepare

    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

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

  - ### execute

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

  - ### makeClosed

    public final void makeClosed(RecordingContext context)
    Deprecated.

  - ### onMakeClosed

    protected void onMakeClosed(RecordingContext context)
    Deprecated.

  - ### isClosed

    public final boolean isClosed()
    Deprecated.

  - ### detach

    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

    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

    protected void onMakeSkippable()
    Deprecated.

  - ### isSkippable

    public final boolean isSkippable()
    Deprecated.

  - ### addDependency

    public final void addDependency(SurfaceProxy dependency, int samplerState)
    Deprecated.

  - ### dependsOn

    public final boolean dependsOn(RenderTask dependency)
    Deprecated.

  - ### isInstantiated

    public final boolean isInstantiated()
    Deprecated.

  - ### toString

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