implement resource containers
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
126375c5e3
commit
e88580ae64
|
@ -1144,7 +1144,8 @@ REFRESHAPI void Refresh_DownloadFromTexture(
|
||||||
Refresh_CommandBuffer *commandBuffer,
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
Refresh_TextureSlice *textureSlice,
|
Refresh_TextureSlice *textureSlice,
|
||||||
Refresh_TransferBuffer *transferBuffer,
|
Refresh_TransferBuffer *transferBuffer,
|
||||||
Refresh_BufferImageCopy *copyParams
|
Refresh_BufferImageCopy *copyParams,
|
||||||
|
Refresh_TransferOptions option
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Downloads data from a GpuBuffer object. */
|
/* Downloads data from a GpuBuffer object. */
|
||||||
|
@ -1153,13 +1154,29 @@ REFRESHAPI void Refresh_DownloadFromBuffer(
|
||||||
Refresh_CommandBuffer *commandBuffer,
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
Refresh_GpuBuffer *gpuBuffer,
|
Refresh_GpuBuffer *gpuBuffer,
|
||||||
Refresh_TransferBuffer *transferBuffer,
|
Refresh_TransferBuffer *transferBuffer,
|
||||||
Refresh_BufferCopy *copyParams
|
Refresh_BufferCopy *copyParams,
|
||||||
|
Refresh_TransferOptions option
|
||||||
);
|
);
|
||||||
|
|
||||||
/* GPU-to-GPU copies occur on the GPU timeline,
|
/* GPU-to-GPU copies occur on the GPU timeline,
|
||||||
* and you may assume the copy has finished in subsequent commands.
|
* and you may assume the copy has finished in subsequent commands.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* option:
|
||||||
|
* SAFEDISCARD:
|
||||||
|
* If the destination resource has been used in a copy command that has not completed,
|
||||||
|
* the issued copy commands will still be valid at the cost of increased memory usage.
|
||||||
|
* Otherwise the data will safely overwrite.
|
||||||
|
* This is a good option to prevent stalls on resources with frequent updates.
|
||||||
|
* It is not recommended to use this option with large resources.
|
||||||
|
*
|
||||||
|
* SAFEOVERWRITE:
|
||||||
|
* Overwrites the data regardless of whether a copy has been issued.
|
||||||
|
* This will insert a memory barrier, so it could cause suboptimal performance compared to SAFEDISCARD
|
||||||
|
* on resources that update frequently across submissions.
|
||||||
|
*/
|
||||||
|
|
||||||
/* Performs a texture-to-texture copy. */
|
/* Performs a texture-to-texture copy. */
|
||||||
REFRESHAPI void Refresh_CopyTextureToTexture(
|
REFRESHAPI void Refresh_CopyTextureToTexture(
|
||||||
Refresh_Device *device,
|
Refresh_Device *device,
|
||||||
|
|
|
@ -820,7 +820,8 @@ void Refresh_DownloadFromTexture(
|
||||||
Refresh_CommandBuffer *commandBuffer,
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
Refresh_TextureSlice *textureSlice,
|
Refresh_TextureSlice *textureSlice,
|
||||||
Refresh_TransferBuffer *transferBuffer,
|
Refresh_TransferBuffer *transferBuffer,
|
||||||
Refresh_BufferImageCopy *copyParams
|
Refresh_BufferImageCopy *copyParams,
|
||||||
|
Refresh_TransferOptions option
|
||||||
) {
|
) {
|
||||||
NULL_RETURN(device);
|
NULL_RETURN(device);
|
||||||
device->DownloadFromTexture(
|
device->DownloadFromTexture(
|
||||||
|
@ -828,7 +829,8 @@ void Refresh_DownloadFromTexture(
|
||||||
commandBuffer,
|
commandBuffer,
|
||||||
textureSlice,
|
textureSlice,
|
||||||
transferBuffer,
|
transferBuffer,
|
||||||
copyParams
|
copyParams,
|
||||||
|
option
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -837,7 +839,8 @@ void Refresh_DownloadFromBuffer(
|
||||||
Refresh_CommandBuffer *commandBuffer,
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
Refresh_GpuBuffer *gpuBuffer,
|
Refresh_GpuBuffer *gpuBuffer,
|
||||||
Refresh_TransferBuffer *transferBuffer,
|
Refresh_TransferBuffer *transferBuffer,
|
||||||
Refresh_BufferCopy *copyParams
|
Refresh_BufferCopy *copyParams,
|
||||||
|
Refresh_TransferOptions option
|
||||||
) {
|
) {
|
||||||
NULL_RETURN(device);
|
NULL_RETURN(device);
|
||||||
device->DownloadFromBuffer(
|
device->DownloadFromBuffer(
|
||||||
|
@ -845,7 +848,8 @@ void Refresh_DownloadFromBuffer(
|
||||||
commandBuffer,
|
commandBuffer,
|
||||||
gpuBuffer,
|
gpuBuffer,
|
||||||
transferBuffer,
|
transferBuffer,
|
||||||
copyParams
|
copyParams,
|
||||||
|
option
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -460,7 +460,8 @@ struct Refresh_Device
|
||||||
Refresh_CommandBuffer *commandBuffer,
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
Refresh_TextureSlice *textureSlice,
|
Refresh_TextureSlice *textureSlice,
|
||||||
Refresh_TransferBuffer *transferBuffer,
|
Refresh_TransferBuffer *transferBuffer,
|
||||||
Refresh_BufferImageCopy *copyParams
|
Refresh_BufferImageCopy *copyParams,
|
||||||
|
Refresh_TransferOptions option
|
||||||
);
|
);
|
||||||
|
|
||||||
void (*DownloadFromBuffer)(
|
void (*DownloadFromBuffer)(
|
||||||
|
@ -468,7 +469,8 @@ struct Refresh_Device
|
||||||
Refresh_CommandBuffer *commandBuffer,
|
Refresh_CommandBuffer *commandBuffer,
|
||||||
Refresh_GpuBuffer *gpuBuffer,
|
Refresh_GpuBuffer *gpuBuffer,
|
||||||
Refresh_TransferBuffer *transferBuffer,
|
Refresh_TransferBuffer *transferBuffer,
|
||||||
Refresh_BufferCopy *copyParams
|
Refresh_BufferCopy *copyParams,
|
||||||
|
Refresh_TransferOptions option
|
||||||
);
|
);
|
||||||
|
|
||||||
void (*CopyTextureToTexture)(
|
void (*CopyTextureToTexture)(
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue