XII Release 0.1.0
Loading...
Searching...
No Matches
xiiRenderPipelineResourceRequest Struct Reference

Describes a request to create or resolve a GPU resource during render pipeline compilation. More...

#include <RenderPipelinePass.h>

Public Member Functions

 xiiRenderPipelineResourceRequest (xiiRenderPipelineNodePinResourceType::Enum resourceType, const xiiGALBufferCreationDescription &description)
 
 xiiRenderPipelineResourceRequest (xiiRenderPipelineNodePinResourceType::Enum resourceType, const xiiGALTextureCreationDescription &description)
 
 xiiRenderPipelineResourceRequest (xiiRenderPipelineNodePinResourceType::Enum resourceType, const xiiGALSamplerCreationDescription &description)
 
 xiiRenderPipelineResourceRequest (const xiiRenderPipelinePassResource &passResource)
 
XII_ALWAYS_INLINE constexpr bool IsBuffer () const
 Returns true if this resource request is a buffer.
 
XII_ALWAYS_INLINE constexpr bool IsTexture () const
 Returns true if this resource request is a texture.
 
XII_ALWAYS_INLINE constexpr bool IsSampler () const
 Returns true if this resource request is a sampler.
 
XII_ALWAYS_INLINE constexpr bool IsAccelerationStructure () const
 Returns true if this resource request is an acceleration structure.
 

Public Attributes

xiiEnum< xiiRenderPipelineNodePinResourceTypem_Type
 Indicates which union field is valid.
 
union { 
 
   xiiGALTextureCreationDescription   m_Texture 
 Texture creation parameters.
 
   xiiGALBufferCreationDescription   m_Buffer 
 Buffer creation parameters.
 
   xiiGALSamplerCreationDescription   m_Sampler 
 Sampler creation parameters.
 
};  
 

Detailed Description

Describes a request to create or resolve a GPU resource during render pipeline compilation.

This structure encapsulates both the intended resource type and its creation parameters, and is typically used by resource provider interfaces or pass hooks (e.g. QueryResourceProvider).

Only one variant inside the union is valid at a time, as determined by m_Type.

Example usage:

  • A pass emitting a Texture pin may populate m_Texture with desired resolution, format, and usage.
  • The graph compiler or engine module inspects the request and returns an appropriate runtime handle.
See also
xiiRenderPipelinePassResource, xiiRenderPipelinePassBase::QueryResourceProvider

The documentation for this struct was generated from the following files: