From 3c125d41348b08a467333cf0e40bed7ce26cd7cc Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Sat, 12 Jun 2021 16:23:04 -0400
Subject: [PATCH] tmml: Remove index component from coords vec

The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
---
 .../maxwell/translate/impl/texture_mipmap_level.cpp        | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/texture_mipmap_level.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/texture_mipmap_level.cpp
index abf87a0df..667c69a0d 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/texture_mipmap_level.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/texture_mipmap_level.cpp
@@ -46,16 +46,15 @@ Shader::TextureType GetType(TextureType type) {
 }
 
 IR::Value MakeCoords(TranslatorVisitor& v, IR::Reg reg, TextureType type) {
-    const auto read_array{[&]() -> IR::F32 { return v.ir.ConvertUToF(32, 16, v.X(reg)); }};
     switch (type) {
     case TextureType::_1D:
         return v.F(reg);
     case TextureType::ARRAY_1D:
-        return v.ir.CompositeConstruct(v.F(reg + 1), read_array());
+        return v.F(reg + 1);
     case TextureType::_2D:
         return v.ir.CompositeConstruct(v.F(reg), v.F(reg + 1));
     case TextureType::ARRAY_2D:
-        return v.ir.CompositeConstruct(v.F(reg + 1), v.F(reg + 2), read_array());
+        return v.ir.CompositeConstruct(v.F(reg + 1), v.F(reg + 2));
     case TextureType::_3D:
         return v.ir.CompositeConstruct(v.F(reg), v.F(reg + 1), v.F(reg + 2));
     case TextureType::ARRAY_3D:
@@ -63,7 +62,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(v.F(reg + 1), v.F(reg + 2), v.F(reg + 3), read_array());
+        return v.ir.CompositeConstruct(v.F(reg + 1), v.F(reg + 2), v.F(reg + 3));
     }
     throw NotImplementedException("Invalid texture type {}", type);
 }