Class PlaybackEngine
Defined in File playback-engine.h
Class Documentation
-
class PlaybackEngine
Provides high level control over RangePlayer execution for meatadata/resource requests and experiment application.
Public Functions
-
PlaybackEngine(RangePlayer *rangePlayer)
Creates an instance of PlaybackEngine.
Note
This version of the constructor will create and manage a default list of playback services used by the engine
- Parameters
rangePlayer -- [in] This PlaybackEngine's RangePlayer
-
virtual ~PlaybackEngine()
@ brief Destroys this instance of PlaybackEngine
-
PlaybackEngine(RangePlayer *rangePlayer, Services *serviceOverrides)
Creates an instance of PlaybackEngine.
Note
This version of the constructor allows the caller to provide alternate implementations of various playback services
- Parameters
rangePlayer -- [in] This PlaybackEngine's RangePlayer
rangePlayer -- [in] Struct of pointers to various service overrides
-
PlaybackEngine(RangePlayer *rangePlayer, Services *serviceOverrides, const PlaybackEngineParameters ¶meters)
Creates an instance of PlaybackEngine.
Note
This version of the constructor allows the caller to provide alternate implementations of various playback services
- Parameters
rangePlayer -- [in] This PlaybackEngine's RangePlayer
serviceOverrides -- [in] Struct of pointers to various service overrides
parameters -- [in] Playback parameters
-
MetadataExtractor const &GetMetadataExtractor() const
Gets this PlaybackEngine's MetadataExtractor.
- Returns
this PlaybackEngine's MetadataExtractor
-
Experimentor &GetExperimentor()
Gets this PlaybackEngine's Experimentor.
- Returns
This PlaybackEngine's Experimentor
-
Experimentor const &GetExperimentor() const
Gets this PlaybackEngine's Experimentor.
- Returns
This PlaybackEngine's Experimentor
-
MetricsExtractor &GetMetricsExtractor()
Gets this PlaybackEngine's MetricsExtractor.
- Returns
This PlaybackEngine's MetricsExtractor
-
MetricsExtractor const &GetMetricsExtractor() const
Gets this PlaybackEngine's MetricsExtractor.
- Returns
This PlaybackEngine's MetricsExtractor
-
bool IsShaderProfilerAvailable() const
Checks shader profiler availability.
-
ResourceExtractor const &GetResourceExtractor() const
Gets a reference to this PlaybackEngine's ResourceExtractor.
optional = true) getUpdatedResourceExtractor Whether or not to get the updated ResourceExtractor
Note
getUpdatedResourceExtractor only has an effect on Vulkan resource extraction
Note
getUpdatedResourceExtractor will be removed as soon as migration to the latest resource interface is complete
- Param
- Returns
A reference to this PlaybackEngine's ResourceExtractor
-
ResourceExtractor &GetResourceExtractor()
Gets a reference to this PlaybackEngine's ResourceExtractor.
optional = true) getUpdatedResourceExtractor Whether or not to get the updated ResourceExtractor
Note
getUpdatedResourceExtractor only has an effect on Vulkan resource extraction
Note
getUpdatedResourceExtractor will be removed as soon as migration to the latest resource interface is complete
- Param
- Returns
A reference to this PlaybackEngine's ResourceExtractor
-
GeometryExtractor &GetGeometryExtractor()
Gets this PlaybackEngine's GeometryExtractor.
- Returns
This PlaybackEngine's GeometryExtractor
-
GeometryExtractor const &GetGeometryExtractor() const
Gets this PlaybackEngine's GeometryExtractor.
- Returns
This PlaybackEngine's GeometryExtractor
-
void DisableCalls(uint64_t const *callIndices, uint64_t count)
Disables execution of the calls at the specified indices.
Note
This additively changes the state; any previously disabled calls remain disabled
Note
CallableReceiver objects recieving calls from this PlaybackEngine's RangePlayer will still recieve calls to PreExecuteCall() and PostExecuteCall()
Note
Disabling graphics API calls in a range may result in undefined behavior, use with caution
- Parameters
callIndices -- [in] An array of indices at which to disable execution
count -- [in] The number of call indices at which to disable execution
-
void EnableCalls(uint64_t const *callIndices, uint64_t count)
Enables exection of the calls at the specified indices.
- Parameters
callIndices -- [in] An array of indices at which to enable execution
count -- [in] The number of call indices at which to enable execution
-
void EnableAllCalls()
Enables all calls.
-
void Execute()
Executes this PlaybackEngine's RangePlayer.
-
void Execute(ResourceExtractor::Request &request)
Executes this PlaybackEngine's RangePlayer with a given ResourceExtractor::Request.
- Parameters
request -- [in] The ResourceExtractor::Request to process while executing this PlaybackEngine's RangePlayer
- Returns
The ResourceExtractor::Result generated during the execution of this PlaybackEngine's RangePlayer
-
data_collection::MetricsQueryResult Execute(data_collection::MetricsRequest const *request)
Executes this PlaybackEngine's RangePlayer with a given data_collection::MetricsRequest.
- Parameters
request -- [in] The data_collection::MetricsRequest to process while executing this PlaybackEngine's RangePlayer
- Returns
The data_collection::MetricsQueryResult processed during the execution of this PlaybackEngine's RangePlayer
-
void Execute(ProfileShaderRequest const &request, ProfileShaderResult &result)
Executes this PlaybackEngine's RangePlayer with a given ProfileShaderRequest.
- Parameters
request -- [in] The ProfileShaderRequest to process while executing this PlaybackEngine's RangePlayer
The -- [out] ProfileShaderResult processed during the execution of this PlaybackEngine's RangePlayer
-
void Execute(ProfileShaderRequest const &request, ShaderMetricsResult &result)
Executes this PlaybackEngine's RangePlayer with a given ShaderExecutionResult.
- Parameters
request -- [in] The ProfileShaderRequest to process while executing this PlaybackEngine's RangePlayer
The -- [out] ShaderMetricsResult processed during the execution of this PlaybackEngine's RangePlayer
-
void Execute(GeometryExtractor::Request &request)
Executes this PlaybackEngine's RangePlayer with a given GeometryExtractor::Request.
- Parameters
request -- [in] The GeometryExtractor::Request to process while executing this PlaybackEngine's RangePlayer
-
void Execute(ISACodeExtractor::Request &request, ISACodeExtractor::Result &result)
Executes this PlaybackEngine's RangePlayer with a given ISACodeExtractor::Request.
- Parameters
request -- [in] The ISACodeExtractor::Request to process while executing this PlaybackEngine's RangePlayer
-
PlaybackEngine(RangePlayer *rangePlayer)