mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	VideoCore: Split texturing regs from Regs struct
This commit is contained in:
		
							parent
							
								
									000e78144c
								
							
						
					
					
						commit
						9017093f58
					
				
					 17 changed files with 548 additions and 507 deletions
				
			
		|  | @ -123,15 +123,16 @@ void GPUCommandListModel::OnPicaTraceFinished(const Pica::DebugUtils::PicaTrace& | |||
| void GPUCommandListWidget::OnCommandDoubleClicked(const QModelIndex& index) { | ||||
|     const unsigned int command_id = | ||||
|         list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toUInt(); | ||||
|     if (COMMAND_IN_RANGE(command_id, texture0) || COMMAND_IN_RANGE(command_id, texture1) || | ||||
|         COMMAND_IN_RANGE(command_id, texture2)) { | ||||
|     if (COMMAND_IN_RANGE(command_id, texturing.texture0) || | ||||
|         COMMAND_IN_RANGE(command_id, texturing.texture1) || | ||||
|         COMMAND_IN_RANGE(command_id, texturing.texture2)) { | ||||
| 
 | ||||
|         unsigned texture_index; | ||||
|         if (COMMAND_IN_RANGE(command_id, texture0)) { | ||||
|         if (COMMAND_IN_RANGE(command_id, texturing.texture0)) { | ||||
|             texture_index = 0; | ||||
|         } else if (COMMAND_IN_RANGE(command_id, texture1)) { | ||||
|         } else if (COMMAND_IN_RANGE(command_id, texturing.texture1)) { | ||||
|             texture_index = 1; | ||||
|         } else if (COMMAND_IN_RANGE(command_id, texture2)) { | ||||
|         } else if (COMMAND_IN_RANGE(command_id, texturing.texture2)) { | ||||
|             texture_index = 2; | ||||
|         } else { | ||||
|             UNREACHABLE_MSG("Unknown texture command"); | ||||
|  | @ -146,19 +147,20 @@ void GPUCommandListWidget::SetCommandInfo(const QModelIndex& index) { | |||
| 
 | ||||
|     const unsigned int command_id = | ||||
|         list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toUInt(); | ||||
|     if (COMMAND_IN_RANGE(command_id, texture0) || COMMAND_IN_RANGE(command_id, texture1) || | ||||
|         COMMAND_IN_RANGE(command_id, texture2)) { | ||||
|     if (COMMAND_IN_RANGE(command_id, texturing.texture0) || | ||||
|         COMMAND_IN_RANGE(command_id, texturing.texture1) || | ||||
|         COMMAND_IN_RANGE(command_id, texturing.texture2)) { | ||||
| 
 | ||||
|         unsigned texture_index; | ||||
|         if (COMMAND_IN_RANGE(command_id, texture0)) { | ||||
|         if (COMMAND_IN_RANGE(command_id, texturing.texture0)) { | ||||
|             texture_index = 0; | ||||
|         } else if (COMMAND_IN_RANGE(command_id, texture1)) { | ||||
|         } else if (COMMAND_IN_RANGE(command_id, texturing.texture1)) { | ||||
|             texture_index = 1; | ||||
|         } else { | ||||
|             texture_index = 2; | ||||
|         } | ||||
| 
 | ||||
|         const auto texture = Pica::g_state.regs.GetTextures()[texture_index]; | ||||
|         const auto texture = Pica::g_state.regs.texturing.GetTextures()[texture_index]; | ||||
|         const auto config = texture.config; | ||||
|         const auto format = texture.format; | ||||
| 
 | ||||
|  |  | |||
|  | @ -512,7 +512,7 @@ void GraphicsSurfaceWidget::OnUpdate() { | |||
|             break; | ||||
|         } | ||||
| 
 | ||||
|         const auto texture = Pica::g_state.regs.GetTextures()[texture_index]; | ||||
|         const auto texture = Pica::g_state.regs.texturing.GetTextures()[texture_index]; | ||||
|         auto info = Pica::Texture::TextureInfo::FromPicaRegister(texture.config, texture.format); | ||||
| 
 | ||||
|         surface_address = info.physical_address; | ||||
|  | @ -574,7 +574,7 @@ void GraphicsSurfaceWidget::OnUpdate() { | |||
|         info.physical_address = surface_address; | ||||
|         info.width = surface_width; | ||||
|         info.height = surface_height; | ||||
|         info.format = static_cast<Pica::Regs::TextureFormat>(surface_format); | ||||
|         info.format = static_cast<Pica::TexturingRegs::TextureFormat>(surface_format); | ||||
|         info.SetDefaultStride(); | ||||
| 
 | ||||
|         for (unsigned int y = 0; y < surface_height; ++y) { | ||||
|  | @ -689,7 +689,8 @@ void GraphicsSurfaceWidget::SaveSurface() { | |||
| 
 | ||||
| unsigned int GraphicsSurfaceWidget::NibblesPerPixel(GraphicsSurfaceWidget::Format format) { | ||||
|     if (format <= Format::MaxTextureFormat) { | ||||
|         return Pica::Regs::NibblesPerPixel(static_cast<Pica::Regs::TextureFormat>(format)); | ||||
|         return Pica::TexturingRegs::NibblesPerPixel( | ||||
|             static_cast<Pica::TexturingRegs::TextureFormat>(format)); | ||||
|     } | ||||
| 
 | ||||
|     switch (format) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue