mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-17 16:41:28 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ac86f96efa |
@@ -0,0 +1,34 @@
|
||||
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
|
||||
index 2859ee1..766961f 100644
|
||||
--- a/libavutil/hwcontext_vulkan.c
|
||||
+++ b/libavutil/hwcontext_vulkan.c
|
||||
@@ -1688,10 +1688,12 @@ static int setup_queue_families(AVHWDeviceContext *ctx, VkDeviceCreateInfo *cd)
|
||||
|
||||
hwctx->nb_qf = 0;
|
||||
hwctx->queue_flags = 0;
|
||||
+/* SD gamemode vkroots crash
|
||||
#ifdef VK_KHR_internally_synchronized_queues
|
||||
if (p->vkctx.extensions & FF_VK_EXT_INTERNAL_QUEUE_SYNC)
|
||||
hwctx->queue_flags |= VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR;
|
||||
#endif
|
||||
+*/
|
||||
|
||||
/* Pick each queue family to use. */
|
||||
#define PICK_QF(type, vid_op) \
|
||||
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
|
||||
index b2e575c..5b3c9cf 100644
|
||||
--- a/libavutil/vulkan.c
|
||||
+++ b/libavutil/vulkan.c
|
||||
@@ -574,10 +574,12 @@ int ff_vk_exec_pool_init(FFVulkanContext *s, AVVulkanDeviceQueueFamily *qf,
|
||||
e->qf = qf->idx;
|
||||
VkDeviceQueueInfo2 qinfo = {
|
||||
.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
|
||||
+/* SD gamemode vkroots crash
|
||||
#ifdef VK_KHR_internally_synchronized_queues
|
||||
.flags = internal_queue_sync ?
|
||||
VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR : 0,
|
||||
#endif
|
||||
+*/
|
||||
.queueFamilyIndex = qf->idx,
|
||||
.queueIndex = e->qi,
|
||||
};
|
||||
+2
-2
@@ -70,9 +70,9 @@
|
||||
"version": "v1.3.18"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"hash": "ed177621176b3961bdcaa339187d3a7688c1c8b060b79c4bb0257cbc67ad7021ae5d5adca5303b45625abbbe3d9aafdd87ce777b8690ac295290d744c875489a",
|
||||
"hash": "68f46abf0d5dc47ab95083d59e273131a8df7948b82e62db00f00fa416e1d0bd24b799671b5a60752209bb2ac0f75295055ed0085c89a98113323cde23b69710",
|
||||
"repo": "FFmpeg/FFmpeg",
|
||||
"version": "c7b5f1537d"
|
||||
"version": "6efe500d2e"
|
||||
},
|
||||
"ffmpeg-ci": {
|
||||
"ci": true,
|
||||
|
||||
@@ -406,8 +406,10 @@ int RegAlloc::RealizeReadWriteImpl(const IR::Value& read_value, const IR::Inst*
|
||||
} else if constexpr (kind == HostLoc::Kind::Fpr) {
|
||||
LoadCopyInto(read_value, oaknut::QReg{write_loc});
|
||||
return write_loc;
|
||||
} else if constexpr (kind == HostLoc::Kind::Flags) {
|
||||
ASSERT(false && "Incorrect function for ReadWrite of flags");
|
||||
} else {
|
||||
UNREACHABLE(); // kind == HostLoc::Kind::Flags
|
||||
UNREACHABLE();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,6 +72,40 @@ void Block::Reset(LocationDescriptor location_) noexcept {
|
||||
ASSERT(instructions.size() == 0);
|
||||
}
|
||||
|
||||
static std::string TerminalToString(const Term::Terminal& terminal_variant) noexcept {
|
||||
// struct : boost::static_visitor<std::string> {
|
||||
// std::string operator()(const std::monostate&) const {
|
||||
// return "<invalid>";
|
||||
// }
|
||||
// std::string operator()(const Term::ReturnToDispatch&) const {
|
||||
// return "ReturnToDispatch{}";
|
||||
// }
|
||||
// std::string operator()(const Term::LinkBlock& terminal) const {
|
||||
// return fmt::format("LinkBlock{{{}}}", terminal.next);
|
||||
// }
|
||||
// std::string operator()(const Term::LinkBlockFast& terminal) const {
|
||||
// return fmt::format("LinkBlockFast{{{}}}", terminal.next);
|
||||
// }
|
||||
// std::string operator()(const Term::PopRSBHint&) const {
|
||||
// return "PopRSBHint{}";
|
||||
// }
|
||||
// std::string operator()(const Term::FastDispatchHint&) const {
|
||||
// return "FastDispatchHint{}";
|
||||
// }
|
||||
// std::string operator()(const Term::If& terminal) const {
|
||||
// return fmt::format("If{{{}, {}, {}}}", A64::CondToString(terminal.if_), TerminalToString(terminal.then_), TerminalToString(terminal.else_));
|
||||
// }
|
||||
// std::string operator()(const Term::CheckBit& terminal) const {
|
||||
// return fmt::format("CheckBit{{{}, {}}}", TerminalToString(terminal.then_), TerminalToString(terminal.else_));
|
||||
// }
|
||||
// std::string operator()(const Term::CheckHalt& terminal) const {
|
||||
// return fmt::format("CheckHalt{{{}}}", TerminalToString(terminal.else_));
|
||||
// }
|
||||
// } visitor;
|
||||
// return boost::apply_visitor(visitor, terminal_variant);
|
||||
return "";
|
||||
}
|
||||
|
||||
std::string DumpBlock(const IR::Block& block) noexcept {
|
||||
std::string ret = fmt::format("Block: location={}-{}\n", block.Location(), block.EndLocation())
|
||||
+ fmt::format("cycles={}", block.CycleCount())
|
||||
@@ -140,9 +174,8 @@ std::string DumpBlock(const IR::Block& block) noexcept {
|
||||
|
||||
ret += fmt::format(" (uses: {})", inst.UseCount()) + '\n';
|
||||
}
|
||||
return ret + "terminal = " + [](const Term::Terminal&) -> std::string {
|
||||
return "";
|
||||
}(block.GetTerminal()) + '\n';
|
||||
ret += "terminal = " + TerminalToString(block.GetTerminal()) + '\n';
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace Dynarmic::IR
|
||||
|
||||
@@ -209,6 +209,8 @@ add_executable(yuzu
|
||||
util/overlay_dialog.ui
|
||||
util/sequence_dialog/sequence_dialog.cpp
|
||||
util/sequence_dialog/sequence_dialog.h
|
||||
util/url_request_interceptor.cpp
|
||||
util/url_request_interceptor.h
|
||||
util/util.cpp
|
||||
util/util.h
|
||||
|
||||
@@ -239,12 +241,6 @@ add_executable(yuzu
|
||||
|
||||
set_target_properties(yuzu PROPERTIES OUTPUT_NAME "eden")
|
||||
|
||||
if (YUZU_USE_QT_WEB_ENGINE)
|
||||
target_sources(yuzu PRIVATE
|
||||
util/url_request_interceptor.cpp
|
||||
util/url_request_interceptor.h)
|
||||
endif()
|
||||
|
||||
if (YUZU_CRASH_DUMPS)
|
||||
target_sources(yuzu PRIVATE
|
||||
breakpad.cpp
|
||||
|
||||
@@ -232,6 +232,7 @@
|
||||
<property name="title">
|
||||
<string>&Help</string>
|
||||
</property>
|
||||
<addaction name="action_Report_Compatibility"/>
|
||||
<addaction name="action_Open_Mods_Page"/>
|
||||
<addaction name="action_Open_UserHandbook"/>
|
||||
<addaction name="separator"/>
|
||||
|
||||
Reference in New Issue
Block a user