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_TextureSlice *textureSlice, | ||||
| 	Refresh_TransferBuffer *transferBuffer, | ||||
| 	Refresh_BufferImageCopy *copyParams | ||||
| 	Refresh_BufferImageCopy *copyParams, | ||||
| 	Refresh_TransferOptions option | ||||
| ); | ||||
| 
 | ||||
| /* Downloads data from a GpuBuffer object. */ | ||||
|  | @ -1153,13 +1154,29 @@ REFRESHAPI void Refresh_DownloadFromBuffer( | |||
| 	Refresh_CommandBuffer *commandBuffer, | ||||
| 	Refresh_GpuBuffer *gpuBuffer, | ||||
| 	Refresh_TransferBuffer *transferBuffer, | ||||
| 	Refresh_BufferCopy *copyParams | ||||
| 	Refresh_BufferCopy *copyParams, | ||||
| 	Refresh_TransferOptions option | ||||
| ); | ||||
| 
 | ||||
| /* GPU-to-GPU copies occur on the GPU timeline,
 | ||||
|  * 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. */ | ||||
| REFRESHAPI void Refresh_CopyTextureToTexture( | ||||
| 	Refresh_Device *device, | ||||
|  |  | |||
|  | @ -820,7 +820,8 @@ void Refresh_DownloadFromTexture( | |||
| 	Refresh_CommandBuffer *commandBuffer, | ||||
| 	Refresh_TextureSlice *textureSlice, | ||||
| 	Refresh_TransferBuffer *transferBuffer, | ||||
| 	Refresh_BufferImageCopy *copyParams | ||||
| 	Refresh_BufferImageCopy *copyParams, | ||||
| 	Refresh_TransferOptions option | ||||
| ) { | ||||
| 	NULL_RETURN(device); | ||||
| 	device->DownloadFromTexture( | ||||
|  | @ -828,7 +829,8 @@ void Refresh_DownloadFromTexture( | |||
| 		commandBuffer, | ||||
| 		textureSlice, | ||||
| 		transferBuffer, | ||||
| 		copyParams | ||||
| 		copyParams, | ||||
| 		option | ||||
| 	); | ||||
| } | ||||
| 
 | ||||
|  | @ -837,7 +839,8 @@ void Refresh_DownloadFromBuffer( | |||
| 	Refresh_CommandBuffer *commandBuffer, | ||||
| 	Refresh_GpuBuffer *gpuBuffer, | ||||
| 	Refresh_TransferBuffer *transferBuffer, | ||||
| 	Refresh_BufferCopy *copyParams | ||||
| 	Refresh_BufferCopy *copyParams, | ||||
| 	Refresh_TransferOptions option | ||||
| ) { | ||||
| 	NULL_RETURN(device); | ||||
| 	device->DownloadFromBuffer( | ||||
|  | @ -845,7 +848,8 @@ void Refresh_DownloadFromBuffer( | |||
| 		commandBuffer, | ||||
| 		gpuBuffer, | ||||
| 		transferBuffer, | ||||
| 		copyParams | ||||
| 		copyParams, | ||||
| 		option | ||||
| 	); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -460,7 +460,8 @@ struct Refresh_Device | |||
| 		Refresh_CommandBuffer *commandBuffer, | ||||
| 		Refresh_TextureSlice *textureSlice, | ||||
| 		Refresh_TransferBuffer *transferBuffer, | ||||
| 		Refresh_BufferImageCopy *copyParams | ||||
| 		Refresh_BufferImageCopy *copyParams, | ||||
| 		Refresh_TransferOptions option | ||||
| 	); | ||||
| 
 | ||||
| 	void (*DownloadFromBuffer)( | ||||
|  | @ -468,7 +469,8 @@ struct Refresh_Device | |||
| 		Refresh_CommandBuffer *commandBuffer, | ||||
| 		Refresh_GpuBuffer *gpuBuffer, | ||||
| 		Refresh_TransferBuffer *transferBuffer, | ||||
| 		Refresh_BufferCopy *copyParams | ||||
| 		Refresh_BufferCopy *copyParams, | ||||
| 		Refresh_TransferOptions option | ||||
| 	); | ||||
| 
 | ||||
| 	void (*CopyTextureToTexture)( | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue