mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	GSP: Add a few comments.
This commit is contained in:
		
							parent
							
								
									9b0d0c81a0
								
							
						
					
					
						commit
						4b141791ed
					
				
					 2 changed files with 15 additions and 1 deletions
				
			
		|  | @ -171,6 +171,9 @@ void TriggerCmdReqQueue(Service::Interface* self) { | ||||||
|                command.dma_request.size); |                command.dma_request.size); | ||||||
|         break; |         break; | ||||||
| 
 | 
 | ||||||
|  |     // ctrulib homebrew sends all relevant command list data with this command,
 | ||||||
|  |     // hence we do all "interesting" stuff here and do nothing in SET_COMMAND_LIST_FIRST.
 | ||||||
|  |     // TODO: This will need some rework in the future.
 | ||||||
|     case GXCommandId::SET_COMMAND_LIST_LAST: |     case GXCommandId::SET_COMMAND_LIST_LAST: | ||||||
|     { |     { | ||||||
|         auto& params = command.set_command_list_last; |         auto& params = command.set_command_list_last; | ||||||
|  | @ -186,6 +189,8 @@ void TriggerCmdReqQueue(Service::Interface* self) { | ||||||
|         break; |         break; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     // It's assumed that the two "blocks" behave equivalently.
 | ||||||
|  |     // Presumably this is done simply to allow two memory fills to run in parallel.
 | ||||||
|     case GXCommandId::SET_MEMORY_FILL: |     case GXCommandId::SET_MEMORY_FILL: | ||||||
|     { |     { | ||||||
|         auto& params = command.memory_fill; |         auto& params = command.memory_fill; | ||||||
|  | @ -218,9 +223,10 @@ void TriggerCmdReqQueue(Service::Interface* self) { | ||||||
|         break; |         break; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     // TODO: Figure out what exactly SET_COMMAND_LIST_FIRST and SET_COMMAND_LIST_LAST
 | ||||||
|  |     //       are supposed to do.
 | ||||||
|     case GXCommandId::SET_COMMAND_LIST_FIRST: |     case GXCommandId::SET_COMMAND_LIST_FIRST: | ||||||
|     { |     { | ||||||
|         // TODO
 |  | ||||||
|         break; |         break; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -15,9 +15,17 @@ namespace GSP_GPU { | ||||||
| enum class GXCommandId : u32 { | enum class GXCommandId : u32 { | ||||||
|     REQUEST_DMA            = 0x00, |     REQUEST_DMA            = 0x00, | ||||||
|     SET_COMMAND_LIST_LAST  = 0x01, |     SET_COMMAND_LIST_LAST  = 0x01, | ||||||
|  | 
 | ||||||
|  |     // Fills a given memory range with a particular value
 | ||||||
|     SET_MEMORY_FILL        = 0x02, |     SET_MEMORY_FILL        = 0x02, | ||||||
|  | 
 | ||||||
|  |     // Copies an image and optionally performs color-conversion or scaling.
 | ||||||
|  |     // This is highly similar to the GameCube's EFB copy feature
 | ||||||
|     SET_DISPLAY_TRANSFER   = 0x03, |     SET_DISPLAY_TRANSFER   = 0x03, | ||||||
|  | 
 | ||||||
|  |     // Conceptionally similar to SET_DISPLAY_TRANSFER and presumable uses the same hardware path
 | ||||||
|     SET_TEXTURE_COPY       = 0x04, |     SET_TEXTURE_COPY       = 0x04, | ||||||
|  | 
 | ||||||
|     SET_COMMAND_LIST_FIRST = 0x05, |     SET_COMMAND_LIST_FIRST = 0x05, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue