mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-03 20:24:43 +01:00 
			
		
		
		
	shader_recompiler: fix non-const offset for arrayed image types
This commit is contained in:
		
							parent
							
								
									cb29aa0473
								
							
						
					
					
						commit
						462ea921e3
					
				@ -321,17 +321,23 @@ void AddOffsetToCoordinates(EmitContext& ctx, const IR::TextureInstInfo& info, I
 | 
				
			|||||||
    Id result_type{};
 | 
					    Id result_type{};
 | 
				
			||||||
    switch (info.type) {
 | 
					    switch (info.type) {
 | 
				
			||||||
    case TextureType::Buffer:
 | 
					    case TextureType::Buffer:
 | 
				
			||||||
    case TextureType::Color1D:
 | 
					    case TextureType::Color1D: {
 | 
				
			||||||
    case TextureType::ColorArray1D: {
 | 
					 | 
				
			||||||
        result_type = ctx.U32[1];
 | 
					        result_type = ctx.U32[1];
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    case TextureType::ColorArray1D:
 | 
				
			||||||
 | 
					        offset = ctx.OpCompositeConstruct(ctx.U32[2], offset, ctx.u32_zero_value);
 | 
				
			||||||
 | 
					        [[fallthrough]];
 | 
				
			||||||
    case TextureType::Color2D:
 | 
					    case TextureType::Color2D:
 | 
				
			||||||
    case TextureType::Color2DRect:
 | 
					    case TextureType::Color2DRect: {
 | 
				
			||||||
    case TextureType::ColorArray2D: {
 | 
					 | 
				
			||||||
        result_type = ctx.U32[2];
 | 
					        result_type = ctx.U32[2];
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    case TextureType::ColorArray2D:
 | 
				
			||||||
 | 
					        offset = ctx.OpCompositeConstruct(ctx.U32[3], ctx.OpCompositeExtract(ctx.U32[1], coords, 0),
 | 
				
			||||||
 | 
					                                          ctx.OpCompositeExtract(ctx.U32[1], coords, 1),
 | 
				
			||||||
 | 
					                                          ctx.u32_zero_value);
 | 
				
			||||||
 | 
					        [[fallthrough]];
 | 
				
			||||||
    case TextureType::Color3D: {
 | 
					    case TextureType::Color3D: {
 | 
				
			||||||
        result_type = ctx.U32[3];
 | 
					        result_type = ctx.U32[3];
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user