TSdlGpuCopyPass
A copy pass.
This handle is transient and should not be held or referenced after Finish is called.
Definition
Unit: Neslib.Sdl3.Gpu
See Also
Operators
| Name | Description |
|---|---|
| Equal(TSdlGpuCopyPass, TSdlGpuCopyPass) | Used to compare against another TSdlGpuCopyPass. |
| Equal(TSdlGpuCopyPass, Pointer) | Used to compare against nil. |
| Implicit | Used to set the value to nil. |
| NotEqual(TSdlGpuCopyPass, TSdlGpuCopyPass) | Used to compare against another TSdlGpuCopyPass. |
| NotEqual(TSdlGpuCopyPass, Pointer) | Used to compare against nil. |
Methods
| Name | Description |
|---|---|
| CopyBufferToBuffer | Performs a buffer-to-buffer copy. |
| CopyTextureToTexture | Performs a texture-to-texture copy. |
| DownloadFromBuffer | Copies data from a buffer to a transfer buffer on the GPU timeline. |
| DownloadFromTexture | Copies data from a texture to a transfer buffer on the GPU timeline. |
| Finish | Ends the current copy pass. |
| UploadToBuffer | Uploads data from a transfer buffer to a buffer. |
| UploadToTexture | Uploads data from a transfer buffer to a texture. |
Operator Descriptions
Equal(TSdlGpuCopyPass, TSdlGpuCopyPass)
Used to compare against another TSdlGpuCopyPass.
class operator Equal(const ALeft, ARight: TSdlGpuCopyPass): Boolean; inline; static
Parameters
ALeft: TSdlGpuCopyPass
ARight: TSdlGpuCopyPass
Returns
Boolean
Equal(TSdlGpuCopyPass, Pointer)
Used to compare against nil.
class operator Equal(const ALeft: TSdlGpuCopyPass; const ARight: Pointer): Boolean; inline; static
Parameters
ALeft: TSdlGpuCopyPass
ARight: Pointer
Returns
Boolean
Implicit(Pointer)
Used to set the value to nil.
class operator Implicit(const AValue: Pointer): TSdlGpuCopyPass; inline; static
Parameters
AValue: Pointer
Returns
NotEqual(TSdlGpuCopyPass, TSdlGpuCopyPass)
Used to compare against another TSdlGpuCopyPass.
class operator NotEqual(const ALeft, ARight: TSdlGpuCopyPass): Boolean; inline; static
Parameters
ALeft: TSdlGpuCopyPass
ARight: TSdlGpuCopyPass
Returns
Boolean
NotEqual(TSdlGpuCopyPass, Pointer)
Used to compare against nil.
class operator NotEqual(const ALeft: TSdlGpuCopyPass; const ARight: Pointer): Boolean; inline; static
Parameters
ALeft: TSdlGpuCopyPass
ARight: Pointer
Returns
Boolean
Method Descriptions
CopyBufferToBuffer(TSdlGpuBufferLocation, TSdlGpuBufferLocation, Integer, Boolean)
Performs a buffer-to-buffer copy.
This copy occurs on the GPU timeline. You may assume the copy has finished in subsequent commands.
procedure CopyBufferToBuffer(const ASource, ADestination: TSdlGpuBufferLocation; const ASize: Integer; const ACycle: Boolean); inline
Parameters
ASource: TSdlGpuBufferLocation
: The buffer and offset to copy from.
ADestination: TSdlGpuBufferLocation
: The buffer and offset to copy to.
ASize: Integer
: The length of the buffer to copy.
ACycle: Boolean
: If True, cycles the destination buffer if it is already bound, otherwise overwrites the data.
Remarks
This function is available since SDL 3.2.0.
CopyTextureToTexture(TSdlGpuTextureLocation, TSdlGpuTextureLocation, Integer, Integer, Integer, Boolean)
Performs a texture-to-texture copy.
This copy occurs on the GPU timeline. You may assume the copy has finished in subsequent commands.
procedure CopyTextureToTexture(const ASource, ADestination: TSdlGpuTextureLocation; const AW, AH, AD: Integer; const ACycle: Boolean); inline
Parameters
ASource: TSdlGpuTextureLocation
: A source texture region.
ADestination: TSdlGpuTextureLocation
: A destination texture region.
AW: Integer
: The width of the region to copy.
AH: Integer
: The height of the region to copy.
AD: Integer
: The depth of the region to copy.
ACycle: Boolean
: If True, cycles the destination texture if the destination texture is bound, otherwise overwrites the data.
DownloadFromBuffer(TSdlGpuBufferRegion, TSdlGpuTransferBufferLocation)
Copies data from a buffer to a transfer buffer on the GPU timeline.
This data is not guaranteed to be copied until the command buffer fence is signaled.
procedure DownloadFromBuffer(const ASource: TSdlGpuBufferRegion; const ADestination: TSdlGpuTransferBufferLocation); inline
Parameters
ASource: TSdlGpuBufferRegion
: The source buffer with offset and size.
ADestination: TSdlGpuTransferBufferLocation
: The destination transfer buffer with offset.
DownloadFromTexture(TSdlGpuTextureRegion, TSdlGpuTextureTransferInfo)
Copies data from a texture to a transfer buffer on the GPU timeline.
This data is not guaranteed to be copied until the command buffer fence is signaled.
procedure DownloadFromTexture(const ASource: TSdlGpuTextureRegion; const ADestination: TSdlGpuTextureTransferInfo); inline
Parameters
ASource: TSdlGpuTextureRegion
: The source texture region.
ADestination: TSdlGpuTextureTransferInfo
: The destination transfer buffer with image layout information.
Finish
Ends the current copy pass.
procedure Finish; inline
UploadToBuffer(TSdlGpuTransferBufferLocation, TSdlGpuBufferRegion, Boolean)
Uploads data from a transfer buffer to a buffer.
The upload occurs on the GPU timeline. You may assume that the upload has finished in subsequent commands.
procedure UploadToBuffer(const ASource: TSdlGpuTransferBufferLocation; const ADestination: TSdlGpuBufferRegion; const ACycle: Boolean); inline
Parameters
ASource: TSdlGpuTransferBufferLocation
: The source transfer buffer with offset.
ADestination: TSdlGpuBufferRegion
: The destination buffer with offset and size.
ACycle: Boolean
: If true, cycles the buffer if it is already bound, otherwise overwrites the data.
UploadToTexture(TSdlGpuTextureTransferInfo, TSdlGpuTextureRegion, Boolean)
Uploads data from a transfer buffer to a texture.
The upload occurs on the GPU timeline. You may assume that the upload has finished in subsequent commands.
You must align the data in the transfer buffer to a multiple of the texel size of the texture format.
procedure UploadToTexture(const ASource: TSdlGpuTextureTransferInfo; const ADestination: TSdlGpuTextureRegion; const ACycle: Boolean); inline
Parameters
ASource: TSdlGpuTextureTransferInfo
: The source transfer buffer with image layout information.
ADestination: TSdlGpuTextureRegion
: The destination texture region.
ACycle: Boolean
: If true, cycles the texture if the texture is bound, otherwise overwrites the data.