mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-21 16:07:00 +02:00
[vulkan] Corrected mishandling of render area + rescaling logic by using wrongly push constants
This commit is contained in:
parent
76bb5fc18b
commit
bd80d603e2
2 changed files with 4 additions and 3 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
||||||
|
|
@ -31,7 +31,7 @@ struct RenderAreaLayout {
|
||||||
};
|
};
|
||||||
constexpr u32 RESCALING_LAYOUT_WORDS_OFFSET = offsetof(RescalingLayout, rescaling_textures);
|
constexpr u32 RESCALING_LAYOUT_WORDS_OFFSET = offsetof(RescalingLayout, rescaling_textures);
|
||||||
constexpr u32 RESCALING_LAYOUT_DOWN_FACTOR_OFFSET = offsetof(RescalingLayout, down_factor);
|
constexpr u32 RESCALING_LAYOUT_DOWN_FACTOR_OFFSET = offsetof(RescalingLayout, down_factor);
|
||||||
constexpr u32 RENDERAREA_LAYOUT_OFFSET = offsetof(RenderAreaLayout, render_area);
|
constexpr u32 RENDERAREA_LAYOUT_OFFSET = sizeof(RescalingLayout);
|
||||||
|
|
||||||
[[nodiscard]] std::vector<u32> EmitSPIRV(const Profile& profile, const RuntimeInfo& runtime_info,
|
[[nodiscard]] std::vector<u32> EmitSPIRV(const Profile& profile, const RuntimeInfo& runtime_info,
|
||||||
IR::Program& program, Bindings& bindings, bool optimize);
|
IR::Program& program, Bindings& bindings, bool optimize);
|
||||||
|
|
|
||||||
|
|
@ -1096,7 +1096,8 @@ void EmitContext::DefineRenderArea(const Info& info) {
|
||||||
Decorate(push_constant_struct, spv::Decoration::Block);
|
Decorate(push_constant_struct, spv::Decoration::Block);
|
||||||
Name(push_constant_struct, "RenderAreaInfo");
|
Name(push_constant_struct, "RenderAreaInfo");
|
||||||
|
|
||||||
MemberDecorate(push_constant_struct, render_are_member_index, spv::Decoration::Offset, 0);
|
MemberDecorate(push_constant_struct, render_are_member_index, spv::Decoration::Offset,
|
||||||
|
RENDERAREA_LAYOUT_OFFSET);
|
||||||
MemberName(push_constant_struct, render_are_member_index, "render_area");
|
MemberName(push_constant_struct, render_are_member_index, "render_area");
|
||||||
|
|
||||||
const Id pointer_type{TypePointer(spv::StorageClass::PushConstant, push_constant_struct)};
|
const Id pointer_type{TypePointer(spv::StorageClass::PushConstant, push_constant_struct)};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue