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.
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
Modifier and TypeFieldDescriptionprotected static final int
Deprecated.protected static final int
Deprecated.protected static final int
Deprecated.protected static final int
Deprecated.protected final @SharedPtr List
<SurfaceProxy> Deprecated.protected RenderTaskManager
Deprecated.static final int
Deprecated.Indicates "resolutions" that need to be done on a surface before its pixels can be accessed.static final int
Deprecated.Indicates "resolutions" that need to be done on a surface before its pixels can be accessed.protected static final int
Deprecated.protected static final int
Deprecated. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
addDependency
(SurfaceProxy dependency, int samplerState) Deprecated.protected final void
addTarget
(@SharedPtr SurfaceProxy surfaceProxy) Deprecated.protected void
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
Deprecated.final SurfaceProxy
Deprecated.final SurfaceProxy
getTarget
(int index) Deprecated.final int
Deprecated.final boolean
isClosed()
Deprecated.final boolean
Deprecated.final boolean
Deprecated.final void
makeClosed
(RecordingContext context) Deprecated.final void
Deprecated.Make this task skippable.final int
Deprecated.protected void
onMakeClosed
(RecordingContext context) Deprecated.protected void
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.toString()
Deprecated.
-
Field Details
-
RESOLVE_FLAG_MSAA
public static final int RESOLVE_FLAG_MSAADeprecated.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
public static final int RESOLVE_FLAG_MIPMAPSDeprecated.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
protected static final int CLOSED_FLAGDeprecated.- See Also:
-
DETACHED_FLAG
protected static final int DETACHED_FLAGDeprecated.- See Also:
-
SKIPPABLE_FLAG
protected static final int SKIPPABLE_FLAGDeprecated.- See Also:
-
ATLAS_FLAG
protected static final int ATLAS_FLAGDeprecated.- See Also:
-
IN_RESULT_FLAG
protected static final int IN_RESULT_FLAGDeprecated.- See Also:
-
TEMP_MARK_FLAG
protected static final int TEMP_MARK_FLAGDeprecated.- See Also:
-
mTargets
Deprecated. -
mTaskManager
Deprecated.
-
-
Constructor Details
-
RenderTask
Deprecated.- Parameters:
taskManager
- the creating drawing manager
-
-
Method Details
-
getUniqueID
public final int getUniqueID()Deprecated. -
numTargets
public final int numTargets()Deprecated. -
getTarget
Deprecated. -
getTarget
Deprecated. -
addTarget
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 classRefCnt
-
gatherSurfaceIntervals
Deprecated. -
prePrepare
Deprecated.This method will be invoked at record-time to create pipeline information and pre-bake input data on a background thread. -
prepare
Deprecated.This method will be invoked at flush-time to create pipeline information and build input buffers. -
execute
Deprecated.This method will be invoked at flush-time to execute commands. -
makeClosed
Deprecated. -
onMakeClosed
Deprecated. -
isClosed
public final boolean isClosed()Deprecated. -
detach
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
Deprecated. -
dependsOn
Deprecated. -
isInstantiated
public final boolean isInstantiated()Deprecated. -
toString
Deprecated.
-