hot-fix: pr merge conflict resolved
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions

This commit is contained in:
psucien 2024-11-05 22:59:45 +01:00
parent aa4c6c0178
commit 204bba9be8
2 changed files with 4 additions and 7 deletions

View File

@ -87,8 +87,7 @@ struct SamplerResource {
using SamplerResourceList = boost::container::small_vector<SamplerResource, 16>; using SamplerResourceList = boost::container::small_vector<SamplerResource, 16>;
struct FMaskResource { struct FMaskResource {
u32 sgpr_base; u32 sharp_idx;
u32 dword_offset;
constexpr AmdGpu::Image GetSharp(const Info& info) const noexcept; constexpr AmdGpu::Image GetSharp(const Info& info) const noexcept;
}; };
@ -292,7 +291,7 @@ constexpr AmdGpu::Sampler SamplerResource::GetSharp(const Info& info) const noex
} }
constexpr AmdGpu::Image FMaskResource::GetSharp(const Info& info) const noexcept { constexpr AmdGpu::Image FMaskResource::GetSharp(const Info& info) const noexcept {
return info.ReadUd<AmdGpu::Image>(sgpr_base, dword_offset); return info.ReadUdSharp<AmdGpu::Image>(sharp_idx);
} }
} // namespace Shader } // namespace Shader

View File

@ -185,8 +185,7 @@ public:
u32 Add(const FMaskResource& desc) { u32 Add(const FMaskResource& desc) {
u32 index = Add(fmask_resources, desc, [&desc](const auto& existing) { u32 index = Add(fmask_resources, desc, [&desc](const auto& existing) {
return desc.sgpr_base == existing.sgpr_base && return desc.sharp_idx == existing.sharp_idx;
desc.dword_offset == existing.dword_offset;
}); });
return index; return index;
} }
@ -652,8 +651,7 @@ void PatchImageInstruction(IR::Block& block, IR::Inst& inst, Info& info, Descrip
// Track FMask resource to do specialization. // Track FMask resource to do specialization.
descriptors.Add(FMaskResource{ descriptors.Add(FMaskResource{
.sgpr_base = tsharp.sgpr_base, .sharp_idx = tsharp,
.dword_offset = tsharp.dword_offset,
}); });
return; return;
} }