SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SDL::GPUDeviceRef Struct Reference

Semi-safe reference for GPUDevice.

Inheritance diagram for SDL::GPUDeviceRef:
Inheritance graph
[legend]
Collaboration diagram for SDL::GPUDeviceRef:
Collaboration graph
[legend]

Public Member Functions

 GPUDeviceRef (GPUDeviceParam resource)
 Constructs from GPUDeviceParam. More...
 
 GPUDeviceRef (const GPUDeviceRef &other)
 Copy constructor.
 
 ~GPUDeviceRef ()
 Destructor.
 
- Public Member Functions inherited from SDL::GPUDevice
constexpr GPUDevice ()=default
 Default ctor.
 
constexpr GPUDevice (const GPUDeviceRaw resource)
 Constructs from GPUDeviceParam. More...
 
constexpr GPUDevice (const GPUDevice &other)=delete
 Copy constructor.
 
constexpr GPUDevice (GPUDevice &&other)
 Move constructor.
 
constexpr GPUDevice (const GPUDeviceRef &other)=delete
 
constexpr GPUDevice (GPUDeviceRef &&other)=delete
 
 GPUDevice (GPUShaderFormat format_flags, bool debug_mode, StringParam name)
 Creates a GPU context. More...
 
 GPUDevice (PropertiesParam props)
 Creates a GPU context. More...
 
 ~GPUDevice ()
 Destructor.
 
GPUDeviceoperator= (GPUDevice other)
 Assignment operator.
 
constexpr GPUDeviceRaw get () const
 Retrieves underlying GPUDeviceRaw.
 
constexpr GPUDeviceRaw release ()
 Retrieves underlying GPUDeviceRaw and clear this.
 
constexpr auto operator<=> (const GPUDevice &other) const =default
 Comparison.
 
constexpr bool operator== (std::nullptr_t _) const
 Comparison.
 
constexpr operator bool () const
 Converts to bool.
 
constexpr operator GPUDeviceParam () const
 Converts to GPUDeviceParam.
 
void Destroy ()
 Destroys a GPU context previously returned by GPUDevice.GPUDevice. More...
 
const char * GetDriver ()
 Returns the name of the backend used to create this GPU context. More...
 
GPUShaderFormat GetShaderFormats ()
 Returns the supported shader formats for this GPU context. More...
 
GPUComputePipeline CreateComputePipeline (const GPUComputePipelineCreateInfo &createinfo)
 Creates a pipeline object to be used in a compute workflow. More...
 
GPUGraphicsPipeline CreateGraphicsPipeline (const GPUGraphicsPipelineCreateInfo &createinfo)
 Creates a pipeline object to be used in a graphics workflow. More...
 
GPUSampler CreateSampler (const GPUSamplerCreateInfo &createinfo)
 Creates a sampler object to be used when binding textures in a graphics workflow. More...
 
GPUShader CreateShader (const GPUShaderCreateInfo &createinfo)
 Creates a shader to be used when creating a graphics pipeline. More...
 
GPUTexture CreateTexture (const GPUTextureCreateInfo &createinfo)
 Creates a texture object to be used in graphics or compute workflows. More...
 
GPUBuffer CreateBuffer (const GPUBufferCreateInfo &createinfo)
 Creates a buffer object to be used in graphics or compute workflows. More...
 
GPUTransferBuffer CreateTransferBuffer (const GPUTransferBufferCreateInfo &createinfo)
 Creates a transfer buffer to be used when uploading to or downloading from graphics resources. More...
 
void SetBufferName (GPUBuffer buffer, StringParam text)
 Sets an arbitrary string constant to label a buffer. More...
 
void SetTextureName (GPUTexture texture, StringParam text)
 Sets an arbitrary string constant to label a texture. More...
 
void ReleaseTexture (GPUTexture texture)
 Frees the given texture as soon as it is safe to do so. More...
 
void ReleaseSampler (GPUSampler sampler)
 Frees the given sampler as soon as it is safe to do so. More...
 
void ReleaseBuffer (GPUBuffer buffer)
 Frees the given buffer as soon as it is safe to do so. More...
 
void ReleaseTransferBuffer (GPUTransferBuffer transfer_buffer)
 Frees the given transfer buffer as soon as it is safe to do so. More...
 
void ReleaseComputePipeline (GPUComputePipeline compute_pipeline)
 Frees the given compute pipeline as soon as it is safe to do so. More...
 
void ReleaseShader (GPUShader shader)
 Frees the given shader as soon as it is safe to do so. More...
 
void ReleaseGraphicsPipeline (GPUGraphicsPipeline graphics_pipeline)
 Frees the given graphics pipeline as soon as it is safe to do so. More...
 
GPUCommandBuffer AcquireCommandBuffer ()
 Acquire a command buffer. More...
 
void * MapTransferBuffer (GPUTransferBuffer transfer_buffer, bool cycle)
 Maps a transfer buffer into application address space. More...
 
void UnmapTransferBuffer (GPUTransferBuffer transfer_buffer)
 Unmaps a previously mapped transfer buffer. More...
 
bool WindowSupportsSwapchainComposition (WindowParam window, GPUSwapchainComposition swapchain_composition)
 Determines whether a swapchain composition is supported by the window. More...
 
bool WindowSupportsPresentMode (WindowParam window, GPUPresentMode present_mode)
 Determines whether a presentation mode is supported by the window. More...
 
void ClaimWindow (WindowParam window)
 Claims a window, creating a swapchain structure for it. More...
 
void ReleaseWindow (WindowParam window)
 Unclaims a window, destroying its swapchain structure. More...
 
bool SetSwapchainParameters (WindowParam window, GPUSwapchainComposition swapchain_composition, GPUPresentMode present_mode)
 Changes the swapchain parameters for the given claimed window. More...
 
bool SetAllowedFramesInFlight (Uint32 allowed_frames_in_flight)
 Configures the maximum allowed number of frames in flight. More...
 
GPUTextureFormat GetSwapchainTextureFormat (WindowParam window)
 Obtains the texture format of the swapchain for the given window. More...
 
void WaitForSwapchain (WindowParam window)
 Blocks the thread until a swapchain texture is available to be acquired. More...
 
void WaitForIdle ()
 Blocks the thread until the GPU is completely idle. More...
 
void WaitForFences (bool wait_all, std::span< GPUFence *const > fences)
 Blocks the thread until the given fences are signaled. More...
 
bool QueryFence (GPUFence *fence)
 Checks the status of a fence. More...
 
void ReleaseFence (GPUFence *fence)
 Releases a fence obtained from GPUCommandBuffer.SubmitAndAcquireFence. More...
 
bool TextureSupportsFormat (GPUTextureFormat format, GPUTextureType type, GPUTextureUsageFlags usage)
 Determines whether a texture format is supported for a given type and usage. More...
 
bool TextureSupportsSampleCount (GPUTextureFormat format, GPUSampleCount sample_count)
 Determines if a sample count for a texture format is supported. More...
 

Constructor & Destructor Documentation

◆ GPUDeviceRef()

SDL::GPUDeviceRef::GPUDeviceRef ( GPUDeviceParam  resource)
inline
Parameters
resourcea GPUDeviceRaw or GPUDevice.

This does not takes ownership!


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