started exposing command buffers
							parent
							
								
									5f00941900
								
							
						
					
					
						commit
						22e56661e9
					
				|  | @ -66,6 +66,7 @@ typedef struct REFRESH_ShaderModule REFRESH_ShaderModule; | ||||||
| typedef struct REFRESH_RenderPass REFRESH_RenderPass; | typedef struct REFRESH_RenderPass REFRESH_RenderPass; | ||||||
| typedef struct REFRESH_ComputePipeline REFRESH_ComputePipeline; | typedef struct REFRESH_ComputePipeline REFRESH_ComputePipeline; | ||||||
| typedef struct REFRESH_GraphicsPipeline REFRESH_GraphicsPipeline; | typedef struct REFRESH_GraphicsPipeline REFRESH_GraphicsPipeline; | ||||||
|  | typedef struct REFRESH_CommandBuffer REFRESH_CommandBuffer; | ||||||
| 
 | 
 | ||||||
| typedef enum REFRESH_PresentMode | typedef enum REFRESH_PresentMode | ||||||
| { | { | ||||||
|  | @ -1349,6 +1350,23 @@ REFRESHAPI void REFRESH_BindComputeTextures( | ||||||
| 
 | 
 | ||||||
| /* Submission/Presentation */ | /* Submission/Presentation */ | ||||||
| 
 | 
 | ||||||
|  | /* Returns an allocated REFRESH_CommandBuffer* object.
 | ||||||
|  |  * | ||||||
|  |  * NOTE: | ||||||
|  |  * 	A command buffer may only be used on the thread that | ||||||
|  |  * 	it was acquired on. Using it on any other thread is an error. | ||||||
|  |  * | ||||||
|  |  * fixed: | ||||||
|  |  * 	If a command buffer is designated as fixed, it can be | ||||||
|  |  * 	acquired once, have commands recorded into it, and | ||||||
|  |  * 	be re-submitted indefinitely. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | REFRESHAPI REFRESH_CommandBuffer* REFRESH_AcquireCommandBuffer( | ||||||
|  | 	REFRESH_Device *device, | ||||||
|  | 	uint8_t fixed | ||||||
|  | ); | ||||||
|  | 
 | ||||||
| /* Queues an image to be presented to the screen.
 | /* Queues an image to be presented to the screen.
 | ||||||
|  * The image will be presented upon the next REFRESH_Submit call. |  * The image will be presented upon the next REFRESH_Submit call. | ||||||
|  * |  * | ||||||
|  |  | ||||||
|  | @ -885,6 +885,17 @@ void REFRESH_BindComputeTextures( | ||||||
|     ); |     ); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | REFRESH_CommandBuffer* REFRESH_AcquireCommandBuffer( | ||||||
|  |     REFRESH_Device *device, | ||||||
|  |     uint8_t fixed | ||||||
|  | ) { | ||||||
|  |     NULL_RETURN_NULL(device); | ||||||
|  |     return device->AcquireCommandBuffer( | ||||||
|  |         device->driverData, | ||||||
|  |         fixed | ||||||
|  |     ); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void REFRESH_QueuePresent( | void REFRESH_QueuePresent( | ||||||
|     REFRESH_Device *device, |     REFRESH_Device *device, | ||||||
|     REFRESH_TextureSlice* textureSlice, |     REFRESH_TextureSlice* textureSlice, | ||||||
|  |  | ||||||
|  | @ -523,6 +523,11 @@ struct REFRESH_Device | ||||||
|         REFRESH_Texture **pTextures |         REFRESH_Texture **pTextures | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|  |     REFRESH_CommandBuffer* (*AcquireCommandBuffer)( | ||||||
|  |         REFRESH_Renderer *driverData, | ||||||
|  |         uint8_t fixed | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|     void(*QueuePresent)( |     void(*QueuePresent)( | ||||||
|         REFRESH_Renderer *driverData, |         REFRESH_Renderer *driverData, | ||||||
|         REFRESH_TextureSlice *textureSlice, |         REFRESH_TextureSlice *textureSlice, | ||||||
|  | @ -590,6 +595,7 @@ struct REFRESH_Device | ||||||
|     ASSIGN_DRIVER_FUNC(BindComputePipeline, name) \ |     ASSIGN_DRIVER_FUNC(BindComputePipeline, name) \ | ||||||
|     ASSIGN_DRIVER_FUNC(BindComputeBuffers, name) \ |     ASSIGN_DRIVER_FUNC(BindComputeBuffers, name) \ | ||||||
|     ASSIGN_DRIVER_FUNC(BindComputeTextures, name) \ |     ASSIGN_DRIVER_FUNC(BindComputeTextures, name) \ | ||||||
|  |     ASSIGN_DRIVER_FUNC(AcquireCommandBuffer, name) \ | ||||||
|     ASSIGN_DRIVER_FUNC(QueuePresent, name) \ |     ASSIGN_DRIVER_FUNC(QueuePresent, name) \ | ||||||
|     ASSIGN_DRIVER_FUNC(Submit, name) |     ASSIGN_DRIVER_FUNC(Submit, name) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue