Compare commits

...

3 commits

Author SHA1 Message Date
elad335
fa744121fc Fix CallFromMainThread execution condition
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04 gcc (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04-arm clang (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04 clang (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
2025-05-13 17:37:13 +03:00
kd-11
f4dc18c872 rsx: Don't trigger surface swap-in/swap-out handlers when replacing self 2025-05-13 15:17:36 +03:00
RipleyTom
d02dea5df2 Make Disable IPv6 text translatable 2025-05-13 13:43:03 +02:00
5 changed files with 12 additions and 10 deletions

View file

@ -435,7 +435,7 @@ namespace rsx
memory_tag_samples[0].second = ~memory_tag_samples[0].second;
}
bool test()
bool test() const
{
for (const auto& e : memory_tag_samples)
{

View file

@ -69,7 +69,10 @@ namespace gl
void create(u16 w, u16 h, u16 depth, u16 mipmaps, gl::texture* image, u32 rsx_pitch, bool managed,
gl::texture::format gl_format = gl::texture::format::rgba, gl::texture::type gl_type = gl::texture::type::ubyte, bool swap_bytes = false)
{
if (vram_texture && !managed_texture && get_protection() == utils::protection::no)
auto new_texture = static_cast<gl::viewable_image*>(image);
ensure(!exists() || !is_managed() || vram_texture == new_texture);
if (vram_texture != new_texture && !managed_texture && get_protection() == utils::protection::no)
{
// In-place image swap, still locked. Likely a color buffer that got rebound as depth buffer or vice-versa.
gl::as_rtt(vram_texture)->on_swap_out();
@ -81,8 +84,6 @@ namespace gl
}
}
auto new_texture = static_cast<gl::viewable_image*>(image);
ensure(!exists() || !is_managed() || vram_texture == new_texture);
vram_texture = new_texture;
if (managed)

View file

@ -47,7 +47,10 @@ namespace vk
void create(u16 w, u16 h, u16 depth, u16 mipmaps, vk::image* image, u32 rsx_pitch, bool managed, u32 gcm_format, bool pack_swap_bytes = false)
{
if (vram_texture && !managed_texture && get_protection() == utils::protection::no)
auto new_texture = static_cast<vk::viewable_image*>(image);
ensure(!exists() || !is_managed() || vram_texture == new_texture);
if (vram_texture != new_texture && !managed_texture && get_protection() == utils::protection::no)
{
// In-place image swap, still locked. Likely a color buffer that got rebound as depth buffer or vice-versa.
vk::as_rtt(vram_texture)->on_swap_out();
@ -59,8 +62,6 @@ namespace vk
}
}
auto new_texture = static_cast<vk::viewable_image*>(image);
ensure(!exists() || !is_managed() || vram_texture == new_texture);
vram_texture = new_texture;
ensure(rsx_pitch);

View file

@ -169,10 +169,10 @@ void fmt_class_string<cfg_mode>::format(std::string& out, u64 arg)
void Emulator::CallFromMainThread(std::function<void()>&& func, atomic_t<u32>* wake_up, bool track_emu_state, u64 stop_ctr, std::source_location src_loc) const
{
std::function<void()> final_func = [this, before = IsStopped(), track_emu_state, thread_name = thread_ctrl::get_name(), src = src_loc
std::function<void()> final_func = [this, before = IsStopped(true), track_emu_state, thread_name = thread_ctrl::get_name(), src = src_loc
, count = (stop_ctr == umax ? +m_stop_ctr : stop_ctr), func = std::move(func)]
{
const bool call_it = (!track_emu_state || (count == m_stop_ctr && before == IsStopped()));
const bool call_it = (!track_emu_state || (count == m_stop_ctr && before == IsStopped(true)));
sys_log.trace("Callback from thread '%s' at [%s] is %s", thread_name, src, call_it ? "called" : "skipped");

View file

@ -162,7 +162,7 @@ rpcn_account_dialog::rpcn_account_dialog(QWidget* parent)
QPushButton* btn_test = new QPushButton(tr("Test Account"));
QLabel* label_npid = new QLabel();
QCheckBox* checkbox_disable_ipv6 = new QCheckBox("Disable IPv6");
QCheckBox* checkbox_disable_ipv6 = new QCheckBox(tr("Disable IPv6"));
checkbox_disable_ipv6->setCheckState(g_cfg_rpcn.get_ipv6_support() ? Qt::Unchecked : Qt::Checked);
const auto update_npid_label = [label_npid]()