From abd88d54981b03d2023aa6932e322fefd9ac5d54 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Wed, 26 Nov 2025 10:15:16 -0400 Subject: [PATCH] Revert "[spir-v] Add is_integer flag to texture descriptors and update image type handling" --- src/shader_recompiler/backend/spirv/spirv_emit_context.cpp | 3 +-- src/shader_recompiler/backend/spirv/spirv_emit_context.h | 4 ---- src/shader_recompiler/ir_opt/texture_pass.cpp | 4 +--- src/shader_recompiler/shader_info.h | 4 ---- 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp index 8c7086b55e..d4e5441469 100644 --- a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp @@ -30,7 +30,7 @@ enum class Operation { Id ImageType(EmitContext& ctx, const TextureDescriptor& desc) { const spv::ImageFormat format{spv::ImageFormat::Unknown}; - const Id type{desc.is_integer ? ctx.U32[1] : ctx.F32[1]}; + const Id type{ctx.F32[1]}; const bool depth{desc.is_depth}; const bool ms{desc.is_multisample}; switch (desc.type) { @@ -1377,7 +1377,6 @@ void EmitContext::DefineTextures(const Info& info, u32& binding, u32& scaling_in .image_type = image_type, .count = desc.count, .is_multisample = desc.is_multisample, - .is_integer = desc.is_integer, }); if (profile.supported_spirv >= 0x00010400) { interfaces.push_back(id); diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.h b/src/shader_recompiler/backend/spirv/spirv_emit_context.h index ccbf82f0de..66cdb1d3db 100644 --- a/src/shader_recompiler/backend/spirv/spirv_emit_context.h +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.h @@ -1,6 +1,3 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -41,7 +38,6 @@ struct TextureDefinition { Id image_type; u32 count; bool is_multisample; - bool is_integer; }; struct TextureBufferDefinition { diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp index d9b5f75423..9f04c0afaf 100644 --- a/src/shader_recompiler/ir_opt/texture_pass.cpp +++ b/src/shader_recompiler/ir_opt/texture_pass.cpp @@ -445,7 +445,6 @@ public: })}; // TODO: Read this from TIC texture_descriptors[index].is_multisample |= desc.is_multisample; - texture_descriptors[index].is_integer |= desc.is_integer; return index; } @@ -608,7 +607,6 @@ void TexturePass(Environment& env, IR::Program& program, const HostTranslateInfo default: break; } - const bool is_integer = IsTexturePixelFormatInteger(env, cbuf); u32 index; switch (inst->GetOpcode()) { case IR::Opcode::ImageRead: @@ -629,6 +627,7 @@ void TexturePass(Environment& env, IR::Program& program, const HostTranslateInfo } const bool is_written{inst->GetOpcode() != IR::Opcode::ImageRead}; const bool is_read{inst->GetOpcode() != IR::Opcode::ImageWrite}; + const bool is_integer{IsTexturePixelFormatInteger(env, cbuf)}; if (flags.type == TextureType::Buffer) { index = descriptors.Add(ImageBufferDescriptor{ .format = flags.image_format, @@ -673,7 +672,6 @@ void TexturePass(Environment& env, IR::Program& program, const HostTranslateInfo .type = flags.type, .is_depth = flags.is_depth != 0, .is_multisample = is_multisample, - .is_integer = is_integer, .has_secondary = cbuf.has_secondary, .cbuf_index = cbuf.index, .cbuf_offset = cbuf.offset, diff --git a/src/shader_recompiler/shader_info.h b/src/shader_recompiler/shader_info.h index adbba14ffd..ed13e68209 100644 --- a/src/shader_recompiler/shader_info.h +++ b/src/shader_recompiler/shader_info.h @@ -1,6 +1,3 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -209,7 +206,6 @@ struct TextureDescriptor { TextureType type; bool is_depth; bool is_multisample; - bool is_integer; bool has_secondary; u32 cbuf_index; u32 cbuf_offset;