mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-09 16:31:28 +12:00
Fix vulkan compilation warnings
This commit is contained in:
parent
1ab5b481ff
commit
af0e1f609e
7 changed files with 16 additions and 8 deletions
|
@ -20,7 +20,7 @@ namespace vk
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
init_config_options();
|
init_config_options(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
AsyncTaskScheduler::~AsyncTaskScheduler()
|
AsyncTaskScheduler::~AsyncTaskScheduler()
|
||||||
|
@ -32,7 +32,7 @@ namespace vk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AsyncTaskScheduler::init_config_options()
|
void AsyncTaskScheduler::init_config_options(vk_gpu_scheduler_mode mode)
|
||||||
{
|
{
|
||||||
std::lock_guard lock(m_config_mutex);
|
std::lock_guard lock(m_config_mutex);
|
||||||
if (std::exchange(m_options_initialized, true))
|
if (std::exchange(m_options_initialized, true))
|
||||||
|
@ -41,13 +41,13 @@ namespace vk
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_use_host_scheduler = g_cfg.video.vk.asynchronous_scheduler == vk_gpu_scheduler_mode::safe || g_cfg.video.strict_rendering_mode;
|
m_use_host_scheduler = (mode == vk_gpu_scheduler_mode::safe) || g_cfg.video.strict_rendering_mode;
|
||||||
rsx_log.notice("Asynchronous task scheduler is active running in %s mode", m_use_host_scheduler? "'Safe'" : "'Fast'");
|
rsx_log.notice("Asynchronous task scheduler is active running in %s mode", m_use_host_scheduler? "'Safe'" : "'Fast'");
|
||||||
}
|
}
|
||||||
|
|
||||||
void AsyncTaskScheduler::delayed_init()
|
void AsyncTaskScheduler::delayed_init()
|
||||||
{
|
{
|
||||||
init_config_options();
|
ensure(m_options_initialized);
|
||||||
|
|
||||||
auto pdev = get_current_renderer();
|
auto pdev = get_current_renderer();
|
||||||
m_command_pool.create(*const_cast<render_device*>(pdev), pdev->get_transfer_queue_family());
|
m_command_pool.create(*const_cast<render_device*>(pdev), pdev->get_transfer_queue_family());
|
||||||
|
|
|
@ -39,7 +39,7 @@ namespace vk
|
||||||
|
|
||||||
shared_mutex m_submit_mutex;
|
shared_mutex m_submit_mutex;
|
||||||
|
|
||||||
void init_config_options();
|
void init_config_options(vk_gpu_scheduler_mode mode);
|
||||||
void delayed_init();
|
void delayed_init();
|
||||||
void insert_sync_event();
|
void insert_sync_event();
|
||||||
|
|
||||||
|
|
|
@ -1544,7 +1544,7 @@ bool VKGSRender::release_GCM_label(u32 address, u32 args)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_host_data_ptr->last_label_release_event = ++m_host_data_ptr->event_counter;
|
m_host_data_ptr->last_label_release_event = m_host_data_ptr->inc_counter();
|
||||||
|
|
||||||
if (m_host_data_ptr->texture_load_request_event > m_host_data_ptr->last_label_submit_event)
|
if (m_host_data_ptr->texture_load_request_event > m_host_data_ptr->last_label_submit_event)
|
||||||
{
|
{
|
||||||
|
|
|
@ -89,7 +89,7 @@ namespace vk
|
||||||
using download_buffer_object = void*;
|
using download_buffer_object = void*;
|
||||||
using barrier_descriptor_t = rsx::deferred_clipped_region<vk::render_target*>;
|
using barrier_descriptor_t = rsx::deferred_clipped_region<vk::render_target*>;
|
||||||
|
|
||||||
static std::pair<VkImageUsageFlags, VkImageCreateFlags> get_attachment_create_flags(VkFormat format, u8 samples)
|
static std::pair<VkImageUsageFlags, VkImageCreateFlags> get_attachment_create_flags(VkFormat format, u8 /*samples*/)
|
||||||
{
|
{
|
||||||
if (g_cfg.video.strict_rendering_mode)
|
if (g_cfg.video.strict_rendering_mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1154,7 +1154,7 @@ namespace vk
|
||||||
// Queue a sync update on the CB doing the load
|
// Queue a sync update on the CB doing the load
|
||||||
auto [host_data, host_buffer] = static_cast<VKGSRender*>(rsxthr)->map_host_object_data();
|
auto [host_data, host_buffer] = static_cast<VKGSRender*>(rsxthr)->map_host_object_data();
|
||||||
ensure(host_data);
|
ensure(host_data);
|
||||||
const auto event_id = ++host_data->event_counter;
|
const auto event_id = host_data->inc_counter();
|
||||||
host_data->texture_load_request_event = event_id;
|
host_data->texture_load_request_event = event_id;
|
||||||
vkCmdUpdateBuffer(cmd2, host_buffer, ::offset32(&vk::host_data_t::texture_load_complete_event), sizeof(u64), &event_id);
|
vkCmdUpdateBuffer(cmd2, host_buffer, ::offset32(&vk::host_data_t::texture_load_complete_event), sizeof(u64), &event_id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,6 +181,7 @@ namespace vk
|
||||||
switch (status)
|
switch (status)
|
||||||
{
|
{
|
||||||
case VK_NOT_READY:
|
case VK_NOT_READY:
|
||||||
|
utils::pause();
|
||||||
continue;
|
continue;
|
||||||
default:
|
default:
|
||||||
die_with_error(status);
|
die_with_error(status);
|
||||||
|
|
|
@ -26,6 +26,13 @@ namespace vk
|
||||||
u64 last_label_submit_event = 0;
|
u64 last_label_submit_event = 0;
|
||||||
u64 commands_complete_event = 0;
|
u64 commands_complete_event = 0;
|
||||||
u64 last_label_request_timestamp = 0;
|
u64 last_label_request_timestamp = 0;
|
||||||
|
|
||||||
|
inline u64 inc_counter() volatile
|
||||||
|
{
|
||||||
|
// Workaround for volatile increment warning. GPU can see this value directly, but currently we do not modify it on the device.
|
||||||
|
event_counter = event_counter + 1;
|
||||||
|
return event_counter;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct fence
|
struct fence
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue