Package icyllis.arc3d.granite
Class RenderTask
java.lang.Object
icyllis.arc3d.core.RefCnt
icyllis.arc3d.granite.RenderTask
- All Implemented Interfaces:
RefCounted
- Direct Known Subclasses:
OpsTask,TextureResolveTask
Deprecated.
This class abstracts a task that targets a single
that executes a command buffer,
a
SurfaceProxy, participates in the
RenderTaskManager's DAG, and implements the execute(OpFlushState) method to
modify its target proxy's contents. (e.g., an
invalid reference
OpsTask
TextureResolveTask that regenerates mipmaps, etc.)-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intDeprecated.protected static final intDeprecated.protected static final intDeprecated.protected static final intDeprecated.protected final @SharedPtr List<SurfaceProxy> Deprecated.protected RenderTaskManagerDeprecated.static final intDeprecated.Indicates "resolutions" that need to be done on a surface before its pixels can be accessed.static final intDeprecated.Indicates "resolutions" that need to be done on a surface before its pixels can be accessed.protected static final intDeprecated.protected static final intDeprecated. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRenderTask(@NonNull RenderTaskManager taskManager) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddDependency(SurfaceProxy dependency, int samplerState) Deprecated.protected final voidaddTarget(@SharedPtr SurfaceProxy surfaceProxy) Deprecated.protected voidDeprecated.Override this method to invoke de-allocation of the underlying resource.final booleandependsOn(RenderTask dependency) Deprecated.final voiddetach(RenderTaskManager taskManager) Deprecated.This method "detaches" all the SurfaceProxies this RenderTask modifies.abstract booleanexecute(OpFlushState flushState) Deprecated.This method will be invoked at flush-time to execute commands.voidDeprecated.final SurfaceProxyDeprecated.final SurfaceProxygetTarget(int index) Deprecated.final intDeprecated.final booleanisClosed()Deprecated.final booleanDeprecated.final booleanDeprecated.final voidmakeClosed(RecordingContext context) Deprecated.final voidDeprecated.Make this task skippable.final intDeprecated.protected voidonMakeClosed(RecordingContext context) Deprecated.protected voidDeprecated.voidprepare(OpFlushState flushState) Deprecated.This method will be invoked at flush-time to create pipeline information and build input buffers.voidprePrepare(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:RefCntOverride this method to invoke de-allocation of the underlying resource.- Specified by:
deallocatein 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.
-