mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	gl_rasterizer_cache: Treat Depth formats differently from DepthStencil.
This commit is contained in:
		
							parent
							
								
									69236e5aff
								
							
						
					
					
						commit
						89c3d6a2a3
					
				| @ -142,14 +142,16 @@ static constexpr std::array<FormatTuple, SurfaceParams::MaxPixelFormat> tex_form | |||||||
|     {GL_RG32UI, GL_RG_INTEGER, GL_UNSIGNED_INT, ComponentType::UInt, false},              // RG32UI
 |     {GL_RG32UI, GL_RG_INTEGER, GL_UNSIGNED_INT, ComponentType::UInt, false},              // RG32UI
 | ||||||
|     {GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT, ComponentType::UInt, false},              // R32UI
 |     {GL_R32UI, GL_RED_INTEGER, GL_UNSIGNED_INT, ComponentType::UInt, false},              // R32UI
 | ||||||
| 
 | 
 | ||||||
|  |     // Depth formats
 | ||||||
|  |     {GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT, ComponentType::Float, false}, // Z32F
 | ||||||
|  |     {GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, ComponentType::UNorm, | ||||||
|  |      false}, // Z16
 | ||||||
|  | 
 | ||||||
|     // DepthStencil formats
 |     // DepthStencil formats
 | ||||||
|     {GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, ComponentType::UNorm, |     {GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, ComponentType::UNorm, | ||||||
|      false}, // Z24S8
 |      false}, // Z24S8
 | ||||||
|     {GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, ComponentType::UNorm, |     {GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, ComponentType::UNorm, | ||||||
|      false},                                                                            // S8Z24
 |      false}, // S8Z24
 | ||||||
|     {GL_DEPTH_COMPONENT32F, GL_DEPTH_COMPONENT, GL_FLOAT, ComponentType::Float, false}, // Z32F
 |  | ||||||
|     {GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, ComponentType::UNorm, |  | ||||||
|      false}, // Z16
 |  | ||||||
|     {GL_DEPTH32F_STENCIL8, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, |     {GL_DEPTH32F_STENCIL8, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, | ||||||
|      ComponentType::Float, false}, // Z32FS8
 |      ComponentType::Float, false}, // Z32FS8
 | ||||||
| }}; | }}; | ||||||
| @ -283,10 +285,10 @@ static constexpr std::array<void (*)(u32, u32, u32, std::vector<u8>&, Tegra::GPU | |||||||
|         MortonCopy<true, PixelFormat::RG8S>, |         MortonCopy<true, PixelFormat::RG8S>, | ||||||
|         MortonCopy<true, PixelFormat::RG32UI>, |         MortonCopy<true, PixelFormat::RG32UI>, | ||||||
|         MortonCopy<true, PixelFormat::R32UI>, |         MortonCopy<true, PixelFormat::R32UI>, | ||||||
|         MortonCopy<true, PixelFormat::Z24S8>, |  | ||||||
|         MortonCopy<true, PixelFormat::S8Z24>, |  | ||||||
|         MortonCopy<true, PixelFormat::Z32F>, |         MortonCopy<true, PixelFormat::Z32F>, | ||||||
|         MortonCopy<true, PixelFormat::Z16>, |         MortonCopy<true, PixelFormat::Z16>, | ||||||
|  |         MortonCopy<true, PixelFormat::Z24S8>, | ||||||
|  |         MortonCopy<true, PixelFormat::S8Z24>, | ||||||
|         MortonCopy<true, PixelFormat::Z32FS8>, |         MortonCopy<true, PixelFormat::Z32FS8>, | ||||||
|         // clang-format on
 |         // clang-format on
 | ||||||
| }; | }; | ||||||
| @ -339,10 +341,10 @@ static constexpr std::array<void (*)(u32, u32, u32, std::vector<u8>&, Tegra::GPU | |||||||
|         MortonCopy<false, PixelFormat::RG8S>, |         MortonCopy<false, PixelFormat::RG8S>, | ||||||
|         MortonCopy<false, PixelFormat::RG32UI>, |         MortonCopy<false, PixelFormat::RG32UI>, | ||||||
|         MortonCopy<false, PixelFormat::R32UI>, |         MortonCopy<false, PixelFormat::R32UI>, | ||||||
|         MortonCopy<false, PixelFormat::Z24S8>, |  | ||||||
|         MortonCopy<false, PixelFormat::S8Z24>, |  | ||||||
|         MortonCopy<false, PixelFormat::Z32F>, |         MortonCopy<false, PixelFormat::Z32F>, | ||||||
|         MortonCopy<false, PixelFormat::Z16>, |         MortonCopy<false, PixelFormat::Z16>, | ||||||
|  |         MortonCopy<false, PixelFormat::Z24S8>, | ||||||
|  |         MortonCopy<false, PixelFormat::S8Z24>, | ||||||
|         MortonCopy<false, PixelFormat::Z32FS8>, |         MortonCopy<false, PixelFormat::Z32FS8>, | ||||||
|         // clang-format on
 |         // clang-format on
 | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -68,11 +68,15 @@ struct SurfaceParams { | |||||||
| 
 | 
 | ||||||
|         MaxColorFormat, |         MaxColorFormat, | ||||||
| 
 | 
 | ||||||
|  |         // Depth formats
 | ||||||
|  |         Z32F = 42, | ||||||
|  |         Z16 = 43, | ||||||
|  | 
 | ||||||
|  |         MaxDepthFormat, | ||||||
|  | 
 | ||||||
|         // DepthStencil formats
 |         // DepthStencil formats
 | ||||||
|         Z24S8 = 42, |         Z24S8 = 44, | ||||||
|         S8Z24 = 43, |         S8Z24 = 45, | ||||||
|         Z32F = 44, |  | ||||||
|         Z16 = 45, |  | ||||||
|         Z32FS8 = 46, |         Z32FS8 = 46, | ||||||
| 
 | 
 | ||||||
|         MaxDepthStencilFormat, |         MaxDepthStencilFormat, | ||||||
| @ -153,10 +157,10 @@ struct SurfaceParams { | |||||||
|             1, // RG8S
 |             1, // RG8S
 | ||||||
|             1, // RG32UI
 |             1, // RG32UI
 | ||||||
|             1, // R32UI
 |             1, // R32UI
 | ||||||
|             1, // Z24S8
 |  | ||||||
|             1, // S8Z24
 |  | ||||||
|             1, // Z32F
 |             1, // Z32F
 | ||||||
|             1, // Z16
 |             1, // Z16
 | ||||||
|  |             1, // Z24S8
 | ||||||
|  |             1, // S8Z24
 | ||||||
|             1, // Z32FS8
 |             1, // Z32FS8
 | ||||||
|         }}; |         }}; | ||||||
| 
 | 
 | ||||||
| @ -211,10 +215,10 @@ struct SurfaceParams { | |||||||
|             16,  // RG8S
 |             16,  // RG8S
 | ||||||
|             64,  // RG32UI
 |             64,  // RG32UI
 | ||||||
|             32,  // R32UI
 |             32,  // R32UI
 | ||||||
|             32,  // Z24S8
 |  | ||||||
|             32,  // S8Z24
 |  | ||||||
|             32,  // Z32F
 |             32,  // Z32F
 | ||||||
|             16,  // Z16
 |             16,  // Z16
 | ||||||
|  |             32,  // Z24S8
 | ||||||
|  |             32,  // S8Z24
 | ||||||
|             64,  // Z32FS8
 |             64,  // Z32FS8
 | ||||||
|         }}; |         }}; | ||||||
| 
 | 
 | ||||||
| @ -587,6 +591,10 @@ struct SurfaceParams { | |||||||
|             return SurfaceType::ColorTexture; |             return SurfaceType::ColorTexture; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         if (static_cast<size_t>(pixel_format) < static_cast<size_t>(PixelFormat::MaxDepthFormat)) { | ||||||
|  |             return SurfaceType::Depth; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         if (static_cast<size_t>(pixel_format) < |         if (static_cast<size_t>(pixel_format) < | ||||||
|             static_cast<size_t>(PixelFormat::MaxDepthStencilFormat)) { |             static_cast<size_t>(PixelFormat::MaxDepthStencilFormat)) { | ||||||
|             return SurfaceType::DepthStencil; |             return SurfaceType::DepthStencil; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei