mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-14 02:38:37 +12:00
Merge branch 'master' into virtual_g27
This commit is contained in:
commit
601bce3a54
7 changed files with 25 additions and 12 deletions
|
@ -435,7 +435,7 @@ namespace rsx
|
||||||
memory_tag_samples[0].second = ~memory_tag_samples[0].second;
|
memory_tag_samples[0].second = ~memory_tag_samples[0].second;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool test()
|
bool test() const
|
||||||
{
|
{
|
||||||
for (const auto& e : memory_tag_samples)
|
for (const auto& e : memory_tag_samples)
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,7 +69,10 @@ namespace gl
|
||||||
void create(u16 w, u16 h, u16 depth, u16 mipmaps, gl::texture* image, u32 rsx_pitch, bool managed,
|
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)
|
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.
|
// 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();
|
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;
|
vram_texture = new_texture;
|
||||||
|
|
||||||
if (managed)
|
if (managed)
|
||||||
|
|
|
@ -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)
|
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.
|
// 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();
|
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;
|
vram_texture = new_texture;
|
||||||
|
|
||||||
ensure(rsx_pitch);
|
ensure(rsx_pitch);
|
||||||
|
|
|
@ -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
|
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)]
|
, 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");
|
sys_log.trace("Callback from thread '%s' at [%s] is %s", thread_name, src, call_it ? "called" : "skipped");
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,15 @@
|
||||||
|
|
||||||
LOG_CHANNEL(sdl_log, "SDL");
|
LOG_CHANNEL(sdl_log, "SDL");
|
||||||
|
|
||||||
|
template <>
|
||||||
|
void fmt_class_string<SDL_GUID>::format(std::string& out, u64 arg)
|
||||||
|
{
|
||||||
|
const SDL_GUID& guid = get_object(arg);
|
||||||
|
char str[sizeof(SDL_GUID) * 2 + 1] {};
|
||||||
|
SDL_GUIDToString(guid, str, sizeof(str));
|
||||||
|
fmt::append(out, "%s", str);
|
||||||
|
}
|
||||||
|
|
||||||
sdl_pad_handler::sdl_pad_handler() : PadHandlerBase(pad_handler::sdl)
|
sdl_pad_handler::sdl_pad_handler() : PadHandlerBase(pad_handler::sdl)
|
||||||
{
|
{
|
||||||
button_list =
|
button_list =
|
||||||
|
@ -258,6 +267,7 @@ SDLDevice::sdl_info sdl_pad_handler::get_sdl_info(SDL_JoystickID id)
|
||||||
|
|
||||||
info.type = SDL_GetGamepadType(info.gamepad);
|
info.type = SDL_GetGamepadType(info.gamepad);
|
||||||
info.real_type = SDL_GetRealGamepadType(info.gamepad);
|
info.real_type = SDL_GetRealGamepadType(info.gamepad);
|
||||||
|
info.guid = SDL_GetGamepadGUIDForID(id);
|
||||||
info.vid = SDL_GetGamepadVendor(info.gamepad);
|
info.vid = SDL_GetGamepadVendor(info.gamepad);
|
||||||
info.pid = SDL_GetGamepadProduct(info.gamepad);
|
info.pid = SDL_GetGamepadProduct(info.gamepad);
|
||||||
info.product_version = SDL_GetGamepadProductVersion(info.gamepad);
|
info.product_version = SDL_GetGamepadProductVersion(info.gamepad);
|
||||||
|
@ -291,8 +301,8 @@ SDLDevice::sdl_info sdl_pad_handler::get_sdl_info(SDL_JoystickID id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sdl_log.notice("Found game pad %d: type=%d, real_type=%d, name='%s', path='%s', serial='%s', vid=0x%x, pid=0x%x, product_version=0x%x, firmware_version=0x%x, has_led=%d, has_player_led=%d, has_mono_led=%d, has_rumble=%d, has_rumble_triggers=%d, has_accel=%d, has_gyro=%d",
|
sdl_log.error("Found game pad %d: type=%d, real_type=%d, name='%s', guid='%s', path='%s', serial='%s', vid=0x%x, pid=0x%x, product_version=0x%x, firmware_version=0x%x, has_led=%d, has_player_led=%d, has_mono_led=%d, has_rumble=%d, has_rumble_triggers=%d, has_accel=%d, has_gyro=%d",
|
||||||
id, static_cast<int>(info.type), static_cast<int>(info.real_type), info.name, info.path, info.serial, info.vid, info.pid, info.product_version, info.firmware_version, info.has_led, info.has_player_led, info.has_mono_led, info.has_rumble, info.has_rumble_triggers, info.has_accel, info.has_gyro);
|
id, static_cast<int>(info.type), static_cast<int>(info.real_type), info.name, info.guid, info.path, info.serial, info.vid, info.pid, info.product_version, info.firmware_version, info.has_led, info.has_player_led, info.has_mono_led, info.has_rumble, info.has_rumble_triggers, info.has_accel, info.has_gyro);
|
||||||
|
|
||||||
if (info.has_accel)
|
if (info.has_accel)
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,6 +36,7 @@ public:
|
||||||
SDL_Gamepad* gamepad = nullptr;
|
SDL_Gamepad* gamepad = nullptr;
|
||||||
SDL_GamepadType type = SDL_GamepadType::SDL_GAMEPAD_TYPE_UNKNOWN;
|
SDL_GamepadType type = SDL_GamepadType::SDL_GAMEPAD_TYPE_UNKNOWN;
|
||||||
SDL_GamepadType real_type = SDL_GamepadType::SDL_GAMEPAD_TYPE_UNKNOWN;
|
SDL_GamepadType real_type = SDL_GamepadType::SDL_GAMEPAD_TYPE_UNKNOWN;
|
||||||
|
SDL_GUID guid {};
|
||||||
int power_level = 0;
|
int power_level = 0;
|
||||||
int last_power_level = 0;
|
int last_power_level = 0;
|
||||||
|
|
||||||
|
|
|
@ -162,7 +162,7 @@ rpcn_account_dialog::rpcn_account_dialog(QWidget* parent)
|
||||||
QPushButton* btn_test = new QPushButton(tr("Test Account"));
|
QPushButton* btn_test = new QPushButton(tr("Test Account"));
|
||||||
QLabel* label_npid = new QLabel();
|
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);
|
checkbox_disable_ipv6->setCheckState(g_cfg_rpcn.get_ipv6_support() ? Qt::Unchecked : Qt::Checked);
|
||||||
|
|
||||||
const auto update_npid_label = [label_npid]()
|
const auto update_npid_label = [label_npid]()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue