fermi2d: Correct Origin Mode
This commit is contained in:
		 Fernando Sahmkow
					Fernando Sahmkow
				
			
				
					committed by
					
						 ReinUsesLisp
						ReinUsesLisp
					
				
			
			
				
	
			
			
			 ReinUsesLisp
						ReinUsesLisp
					
				
			
						parent
						
							a56f687793
						
					
				
				
					commit
					cb728797b0
				
			| @@ -38,11 +38,16 @@ void Fermi2D::HandleSurfaceCopy() { | ||||
|  | ||||
|     const u32 src_blit_x1{static_cast<u32>(regs.blit_src_x >> 32)}; | ||||
|     const u32 src_blit_y1{static_cast<u32>(regs.blit_src_y >> 32)}; | ||||
|     const u32 src_blit_x2{ | ||||
|         static_cast<u32>((regs.blit_src_x + (regs.blit_dst_width * regs.blit_du_dx)) >> 32)}; | ||||
|     const u32 src_blit_y2{ | ||||
|         static_cast<u32>((regs.blit_src_y + (regs.blit_dst_height * regs.blit_dv_dy)) >> 32)}; | ||||
|  | ||||
|     u32 src_blit_x2, src_blit_y2; | ||||
|     if (regs.blit_control.origin == Origin::Corner) { | ||||
|         src_blit_x2 = | ||||
|             static_cast<u32>((regs.blit_src_x + (regs.blit_du_dx * regs.blit_dst_width)) >> 32); | ||||
|         src_blit_y2 = | ||||
|             static_cast<u32>((regs.blit_src_y + (regs.blit_dv_dy * regs.blit_dst_height)) >> 32); | ||||
|     } else { | ||||
|         src_blit_x2 = static_cast<u32>((regs.blit_src_x >> 32) + regs.blit_dst_width); | ||||
|         src_blit_y2 = static_cast<u32>((regs.blit_src_y >> 32) + regs.blit_dst_height); | ||||
|     } | ||||
|     const Common::Rectangle<u32> src_rect{src_blit_x1, src_blit_y1, src_blit_x2, src_blit_y2}; | ||||
|     const Common::Rectangle<u32> dst_rect{regs.blit_dst_x, regs.blit_dst_y, | ||||
|                                           regs.blit_dst_x + regs.blit_dst_width, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user