forked from eden-emu/eden
		
	Merge pull request #6765 from ReinUsesLisp/y-negate-vk
vk_rasterizer: Flip viewport on Y_NEGATE
This commit is contained in:
		
						commit
						2361a8da8f
					
				
					 1 changed files with 7 additions and 2 deletions
				
			
		|  | @ -61,11 +61,16 @@ struct DrawParams { | ||||||
| VkViewport GetViewportState(const Device& device, const Maxwell& regs, size_t index) { | VkViewport GetViewportState(const Device& device, const Maxwell& regs, size_t index) { | ||||||
|     const auto& src = regs.viewport_transform[index]; |     const auto& src = regs.viewport_transform[index]; | ||||||
|     const float width = src.scale_x * 2.0f; |     const float width = src.scale_x * 2.0f; | ||||||
|     const float height = src.scale_y * 2.0f; |     float y = src.translate_y - src.scale_y; | ||||||
|  |     float height = src.scale_y * 2.0f; | ||||||
|  |     if (regs.screen_y_control.y_negate) { | ||||||
|  |         y += height; | ||||||
|  |         height = -height; | ||||||
|  |     } | ||||||
|     const float reduce_z = regs.depth_mode == Maxwell::DepthMode::MinusOneToOne ? 1.0f : 0.0f; |     const float reduce_z = regs.depth_mode == Maxwell::DepthMode::MinusOneToOne ? 1.0f : 0.0f; | ||||||
|     VkViewport viewport{ |     VkViewport viewport{ | ||||||
|         .x = src.translate_x - src.scale_x, |         .x = src.translate_x - src.scale_x, | ||||||
|         .y = src.translate_y - src.scale_y, |         .y = y, | ||||||
|         .width = width != 0.0f ? width : 1.0f, |         .width = width != 0.0f ? width : 1.0f, | ||||||
|         .height = height != 0.0f ? height : 1.0f, |         .height = height != 0.0f ? height : 1.0f, | ||||||
|         .minDepth = src.translate_z - src.scale_z * reduce_z, |         .minDepth = src.translate_z - src.scale_z * reduce_z, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ameer J
						Ameer J