|
|
|
@ -61,11 +61,11 @@ IR::Value MakeCoords(TranslatorVisitor& v, IR::Reg reg, TextureType type) { |
|
|
|
case TextureType::_1D: |
|
|
|
return v.F(reg); |
|
|
|
case TextureType::ARRAY_1D: |
|
|
|
return v.ir.CompositeConstruct(read_array(), v.F(reg + 1)); |
|
|
|
return v.ir.CompositeConstruct(v.F(reg + 1), read_array()); |
|
|
|
case TextureType::_2D: |
|
|
|
return v.ir.CompositeConstruct(v.F(reg), v.F(reg + 1)); |
|
|
|
case TextureType::ARRAY_2D: |
|
|
|
return v.ir.CompositeConstruct(read_array(), v.F(reg + 1), v.F(reg + 2)); |
|
|
|
return v.ir.CompositeConstruct(v.F(reg + 1), v.F(reg + 2), read_array()); |
|
|
|
case TextureType::_3D: |
|
|
|
return v.ir.CompositeConstruct(v.F(reg), v.F(reg + 1), v.F(reg + 2)); |
|
|
|
case TextureType::ARRAY_3D: |
|
|
|
@ -73,7 +73,7 @@ IR::Value MakeCoords(TranslatorVisitor& v, IR::Reg reg, TextureType type) { |
|
|
|
case TextureType::CUBE: |
|
|
|
return v.ir.CompositeConstruct(v.F(reg), v.F(reg + 1), v.F(reg + 2)); |
|
|
|
case TextureType::ARRAY_CUBE: |
|
|
|
return v.ir.CompositeConstruct(read_array(), v.F(reg + 1), v.F(reg + 2), v.F(reg + 3)); |
|
|
|
return v.ir.CompositeConstruct(v.F(reg + 1), v.F(reg + 2), v.F(reg + 3), read_array()); |
|
|
|
} |
|
|
|
throw NotImplementedException("Invalid texture type {}", type); |
|
|
|
} |
|
|
|
|