Class PlaybackEngine

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
PlaybackEngine(RangePlayer *rangePlayer, Services *serviceOverrides, const PlaybackEngineParameters &parameters)

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
void Execute(ProfileShaderRequest const &request, ShaderMetricsResult &result)

Executes this PlaybackEngine's RangePlayer with a given ShaderExecutionResult.

Parameters
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