diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/shader/decode/texture.cpp | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/video_core/shader/decode/texture.cpp b/src/video_core/shader/decode/texture.cpp index ca690b58b..bb926a132 100644 --- a/src/video_core/shader/decode/texture.cpp +++ b/src/video_core/shader/decode/texture.cpp | |||
| @@ -44,10 +44,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 44 | bool is_bindless = false; | 44 | bool is_bindless = false; |
| 45 | switch (opcode->get().GetId()) { | 45 | switch (opcode->get().GetId()) { |
| 46 | case OpCode::Id::TEX: { | 46 | case OpCode::Id::TEX: { |
| 47 | if (instr.tex.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 48 | LOG_WARNING(HW_GPU, "TEX.NODEP implementation is incomplete"); | ||
| 49 | } | ||
| 50 | |||
| 51 | const TextureType texture_type{instr.tex.texture_type}; | 47 | const TextureType texture_type{instr.tex.texture_type}; |
| 52 | const bool is_array = instr.tex.array != 0; | 48 | const bool is_array = instr.tex.array != 0; |
| 53 | const bool is_aoffi = instr.tex.UsesMiscMode(TextureMiscMode::AOFFI); | 49 | const bool is_aoffi = instr.tex.UsesMiscMode(TextureMiscMode::AOFFI); |
| @@ -62,10 +58,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 62 | UNIMPLEMENTED_IF_MSG(instr.tex.UsesMiscMode(TextureMiscMode::AOFFI), | 58 | UNIMPLEMENTED_IF_MSG(instr.tex.UsesMiscMode(TextureMiscMode::AOFFI), |
| 63 | "AOFFI is not implemented"); | 59 | "AOFFI is not implemented"); |
| 64 | 60 | ||
| 65 | if (instr.tex.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 66 | LOG_WARNING(HW_GPU, "TEX.NODEP implementation is incomplete"); | ||
| 67 | } | ||
| 68 | |||
| 69 | const TextureType texture_type{instr.tex_b.texture_type}; | 61 | const TextureType texture_type{instr.tex_b.texture_type}; |
| 70 | const bool is_array = instr.tex_b.array != 0; | 62 | const bool is_array = instr.tex_b.array != 0; |
| 71 | const bool is_aoffi = instr.tex.UsesMiscMode(TextureMiscMode::AOFFI); | 63 | const bool is_aoffi = instr.tex.UsesMiscMode(TextureMiscMode::AOFFI); |
| @@ -82,10 +74,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 82 | const bool depth_compare = instr.texs.UsesMiscMode(TextureMiscMode::DC); | 74 | const bool depth_compare = instr.texs.UsesMiscMode(TextureMiscMode::DC); |
| 83 | const auto process_mode = instr.texs.GetTextureProcessMode(); | 75 | const auto process_mode = instr.texs.GetTextureProcessMode(); |
| 84 | 76 | ||
| 85 | if (instr.texs.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 86 | LOG_WARNING(HW_GPU, "TEXS.NODEP implementation is incomplete"); | ||
| 87 | } | ||
| 88 | |||
| 89 | const Node4 components = | 77 | const Node4 components = |
| 90 | GetTexsCode(instr, texture_type, process_mode, depth_compare, is_array); | 78 | GetTexsCode(instr, texture_type, process_mode, depth_compare, is_array); |
| 91 | 79 | ||
| @@ -107,10 +95,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 107 | UNIMPLEMENTED_IF_MSG(instr.tld4.UsesMiscMode(TextureMiscMode::PTP), | 95 | UNIMPLEMENTED_IF_MSG(instr.tld4.UsesMiscMode(TextureMiscMode::PTP), |
| 108 | "PTP is not implemented"); | 96 | "PTP is not implemented"); |
| 109 | 97 | ||
| 110 | if (instr.tld4.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 111 | LOG_WARNING(HW_GPU, "TLD4.NODEP implementation is incomplete"); | ||
| 112 | } | ||
| 113 | |||
| 114 | const auto texture_type = instr.tld4.texture_type.Value(); | 98 | const auto texture_type = instr.tld4.texture_type.Value(); |
| 115 | const bool depth_compare = is_bindless ? instr.tld4_b.UsesMiscMode(TextureMiscMode::DC) | 99 | const bool depth_compare = is_bindless ? instr.tld4_b.UsesMiscMode(TextureMiscMode::DC) |
| 116 | : instr.tld4.UsesMiscMode(TextureMiscMode::DC); | 100 | : instr.tld4.UsesMiscMode(TextureMiscMode::DC); |
| @@ -125,9 +109,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 125 | case OpCode::Id::TLD4S: { | 109 | case OpCode::Id::TLD4S: { |
| 126 | UNIMPLEMENTED_IF_MSG(instr.tld4s.UsesMiscMode(TextureMiscMode::AOFFI), | 110 | UNIMPLEMENTED_IF_MSG(instr.tld4s.UsesMiscMode(TextureMiscMode::AOFFI), |
| 127 | "AOFFI is not implemented"); | 111 | "AOFFI is not implemented"); |
| 128 | if (instr.tld4s.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 129 | LOG_WARNING(HW_GPU, "TLD4S.NODEP implementation is incomplete"); | ||
| 130 | } | ||
| 131 | 112 | ||
| 132 | const bool depth_compare = instr.tld4s.UsesMiscMode(TextureMiscMode::DC); | 113 | const bool depth_compare = instr.tld4s.UsesMiscMode(TextureMiscMode::DC); |
| 133 | const Node op_a = GetRegister(instr.gpr8); | 114 | const Node op_a = GetRegister(instr.gpr8); |
| @@ -164,10 +145,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 164 | is_bindless = true; | 145 | is_bindless = true; |
| 165 | [[fallthrough]]; | 146 | [[fallthrough]]; |
| 166 | case OpCode::Id::TXQ: { | 147 | case OpCode::Id::TXQ: { |
| 167 | if (instr.txq.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 168 | LOG_WARNING(HW_GPU, "TXQ.NODEP implementation is incomplete"); | ||
| 169 | } | ||
| 170 | |||
| 171 | // TODO: The new commits on the texture refactor, change the way samplers work. | 148 | // TODO: The new commits on the texture refactor, change the way samplers work. |
| 172 | // Sadly, not all texture instructions specify the type of texture their sampler | 149 | // Sadly, not all texture instructions specify the type of texture their sampler |
| 173 | // uses. This must be fixed at a later instance. | 150 | // uses. This must be fixed at a later instance. |
| @@ -205,10 +182,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 205 | UNIMPLEMENTED_IF_MSG(instr.tmml.UsesMiscMode(Tegra::Shader::TextureMiscMode::NDV), | 182 | UNIMPLEMENTED_IF_MSG(instr.tmml.UsesMiscMode(Tegra::Shader::TextureMiscMode::NDV), |
| 206 | "NDV is not implemented"); | 183 | "NDV is not implemented"); |
| 207 | 184 | ||
| 208 | if (instr.tmml.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 209 | LOG_WARNING(HW_GPU, "TMML.NODEP implementation is incomplete"); | ||
| 210 | } | ||
| 211 | |||
| 212 | auto texture_type = instr.tmml.texture_type.Value(); | 185 | auto texture_type = instr.tmml.texture_type.Value(); |
| 213 | const bool is_array = instr.tmml.array != 0; | 186 | const bool is_array = instr.tmml.array != 0; |
| 214 | const auto& sampler = | 187 | const auto& sampler = |
| @@ -254,10 +227,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 254 | UNIMPLEMENTED_IF_MSG(instr.tld.ms, "MS is not implemented"); | 227 | UNIMPLEMENTED_IF_MSG(instr.tld.ms, "MS is not implemented"); |
| 255 | UNIMPLEMENTED_IF_MSG(instr.tld.cl, "CL is not implemented"); | 228 | UNIMPLEMENTED_IF_MSG(instr.tld.cl, "CL is not implemented"); |
| 256 | 229 | ||
| 257 | if (instr.tld.nodep_flag) { | ||
| 258 | LOG_WARNING(HW_GPU, "TLD.NODEP implementation is incomplete"); | ||
| 259 | } | ||
| 260 | |||
| 261 | WriteTexInstructionFloat(bb, instr, GetTldCode(instr)); | 230 | WriteTexInstructionFloat(bb, instr, GetTldCode(instr)); |
| 262 | break; | 231 | break; |
| 263 | } | 232 | } |
| @@ -269,10 +238,6 @@ u32 ShaderIR::DecodeTexture(NodeBlock& bb, u32 pc) { | |||
| 269 | "AOFFI is not implemented"); | 238 | "AOFFI is not implemented"); |
| 270 | UNIMPLEMENTED_IF_MSG(instr.tlds.UsesMiscMode(TextureMiscMode::MZ), "MZ is not implemented"); | 239 | UNIMPLEMENTED_IF_MSG(instr.tlds.UsesMiscMode(TextureMiscMode::MZ), "MZ is not implemented"); |
| 271 | 240 | ||
| 272 | if (instr.tlds.UsesMiscMode(TextureMiscMode::NODEP)) { | ||
| 273 | LOG_WARNING(HW_GPU, "TLDS.NODEP implementation is incomplete"); | ||
| 274 | } | ||
| 275 | |||
| 276 | const Node4 components = GetTldsCode(instr, texture_type, is_array); | 241 | const Node4 components = GetTldsCode(instr, texture_type, is_array); |
| 277 | 242 | ||
| 278 | if (instr.tlds.fp32_flag) { | 243 | if (instr.tlds.fp32_flag) { |