Class ResourceInfo

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public gpa::playback::detail::Convertible< ResourceInfo, AccelerationStructureInfo, BlendStateInfo, BufferInfo, DespthStencilStateInfo, EmbeddedPipelineInfo, InputLayoutInfo, PipelineDescriptorSet, PipelineInfo, PipelineSignatureInfo, RasterizerStateInfo, RaytracingShaderGroupInfo, RenderPassInfo, SamplerInfo, ShaderInfo, SwapchainInfo, TextureInfo, ViewInfo, ViewportInfo, ScissorRectInfo > (Template Class Convertible)

Derived Types

Class Documentation

class ResourceInfo : public gpa::playback::detail::Convertible<ResourceInfo, AccelerationStructureInfo, BlendStateInfo, BufferInfo, DespthStencilStateInfo, EmbeddedPipelineInfo, InputLayoutInfo, PipelineDescriptorSet, PipelineInfo, PipelineSignatureInfo, RasterizerStateInfo, RaytracingShaderGroupInfo, RenderPassInfo, SamplerInfo, ShaderInfo, SwapchainInfo, TextureInfo, ViewInfo, ViewportInfo, ScissorRectInfo>

Base type for metadata info objects.

Subclassed by gpa::playback::AccelerationStructureInfo, gpa::playback::BlendStateInfo, gpa::playback::BufferInfo, gpa::playback::DepthStencilStateInfo, gpa::playback::EmbeddedPipelineInfo, gpa::playback::InputLayoutInfo, gpa::playback::PipelineDescriptorSet, gpa::playback::PipelineInfo, gpa::playback::PipelineSignatureInfo, gpa::playback::RasterizerStateInfo, gpa::playback::RaytracingShaderGroupInfo, gpa::playback::RenderPassInfo, gpa::playback::SamplerInfo, gpa::playback::ScissorRectInfo, gpa::playback::ShaderInfo, gpa::playback::SwapchainInfo, gpa::playback::TextureInfo, gpa::playback::ViewInfo, gpa::playback::ViewportInfo

Public Types

enum class Usage

Enumerates ResourceInfo usages.

Values:

enumerator UNKNOWN
enumerator ARGUMENT
enumerator COMPUTE_DESCRIPTOR
enumerator COMPUTE_PIPELINE
enumerator GRAPHICS_DESCRIPTOR
enumerator GRAPHICS_INPUT_ASSEMBLY
enumerator GRAPHICS_OUTPUT
enumerator GRAPHICS_PIPELINE
enumerator GRAPHICS_RASTERIZATION_STATE
enumerator RAYTRACING_DESCRIPTOR
enumerator RAYTRACING_PIPELINE
enumerator RAYTRACING_OUTPUT
enumerator COUNT
enumerator BEGIN
enumerator END
enumerator ALL

Public Functions

ResourceInfo() = default

Constructs an instance of ResourceInfo.

virtual ~ResourceInfo()

Destroys this instance of ResourceInfo.

Enumerator<ResourceInfo::Ex> GetResourceInfoExs(ResourceInfo::Usage usage, uint64_t callIndex) const

Gets an Enumerator<> to all of this ResourceInfo's registered ResourceInfo::Exs for a specified ResourceInfo::Usage at a specified call index.

Note

Subsequent calls to this method invalidate outstanding Enumerator<> objects and Enumerator<>::Iterator objects

Parameters
Returns

An Enumerator<> to all of this ResourceInfo's registered ResourceInfo::Exs for the specified ResourceInfo::Usage at the specified call index

std::pair<uint64_t, uint64_t> GetBindingInterval(ResourceInfo::Usage usage, uint64_t callIndex) const

Gets this ResourceInfo object's binding interval for a specificed ResourceInfo::Usage at a specified call index.

Parameters
  • usage -- [in] The ResourceInfo::Usage to get a binding interval for

  • callIndex -- [in] The call index to get a binding interval for

Returns

A std::pair<uint64_t, uint64_t> consisting of the first and last call indices at which this ResourceInfo was bound for the specified ResourceInfo::Usage and call index

Public Members

ResourceId id = {0}

This ResourceInfo's ResourceId, in general this is the API handle of the resource at capture time.

ResourceId playbackHandle = {0}

This ResourceInfo's playback ResourceId, in general this is the API handle of the resource at playback time.

ResourceId dispatchableHandle = {0}

This ResourceInfo's playback dispatchable handle.

GPUAddress gpuAddress = {0}

This ResourceInfo's API specific GPU Virtual Address or Buffer Device Address.

char const *pName = {nullptr}

This ResourceInfo's name.

CreateInfo createInfo = {}

This ResourceInfo's creation info.

Protected Functions

virtual void OnRegister()

This method will be called when this ResourceInfo is registered for the first time.

Note

If this method is overriden ResourceInfo::OnRegister() must be called

ResourceInfo(ResourceInfo const&) = default
ResourceInfo &operator=(ResourceInfo const&) = default

Protected Attributes

class gpa::playback::ResourceInfo::Storage mStorage

Friends

friend class detail::ResourceInfoRegistry
class Ex : public gpa::playback::detail::Convertible<Ex, CallableShaderTableInfo, HitShaderTableInfo, IndexBufferInfo, IndirectBufferInfo, InputBindingInfo, MemoryBarrierInfo, MissShaderTableInfo, PipelineConstantInfo, RaygenShaderTableInfo, RenderTargetInfo, ResourceTransferInfo, ShadingRateImageInfo, ShadingRateInfo, VertexBufferInfo>

Subclassed by gpa::playback::IndexBufferInfo, gpa::playback::IndirectBufferInfo, gpa::playback::InputBindingInfo, gpa::playback::MemoryBarrierInfo, gpa::playback::PipelineConstantInfo, gpa::playback::RenderTargetInfo, gpa::playback::ResourceTransferInfo, gpa::playback::ShaderTableInfo, gpa::playback::ShadingRateImageInfo, gpa::playback::ShadingRateInfo, gpa::playback::VertexBufferInfo

Public Functions

Ex() = default

Constructs an instance of ResourceInfo::Ex.

virtual ~Ex()

Destroys this instance of ResourceInfo::Ex.

Protected Functions

virtual void OnRegister()

This method will be called when this ResourceInfo::Ex is registered for the first time.

Note

If this method is overriden ResourceInfo::Ex::OnRegister() must be called

Ex(Ex const&) = default
Ex &operator=(Ex const&) = default

Friends

friend class detail::ResourceInfoRegistry
class Storage

Public Types

using CreateInfoDeleter = std::function<void()>

Public Members

CreateInfoDeleter deleter
std::string name