mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00: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;
|
||||
}
|
||||
|
||||
init_config_options();
|
||||
init_config_options(mode);
|
||||
}
|
||||
|
||||
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);
|
||||
if (std::exchange(m_options_initialized, true))
|
||||
|
@ -41,13 +41,13 @@ namespace vk
|
|||
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'");
|
||||
}
|
||||
|
||||
void AsyncTaskScheduler::delayed_init()
|
||||
{
|
||||
init_config_options();
|
||||
ensure(m_options_initialized);
|
||||
|
||||
auto pdev = get_current_renderer();
|
||||
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;
|
||||
|
||||
void init_config_options();
|
||||
void init_config_options(vk_gpu_scheduler_mode mode);
|
||||
void delayed_init();
|
||||
void insert_sync_event();
|
||||
|
||||
|
|
|
@ -1544,7 +1544,7 @@ bool VKGSRender::release_GCM_label(u32 address, u32 args)
|
|||
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)
|
||||
{
|
||||
|
|
|
@ -89,7 +89,7 @@ namespace vk
|
|||
using download_buffer_object = void*;
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -1154,7 +1154,7 @@ namespace vk
|
|||
// Queue a sync update on the CB doing the load
|
||||
auto [host_data, host_buffer] = static_cast<VKGSRender*>(rsxthr)->map_host_object_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;
|
||||
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)
|
||||
{
|
||||
case VK_NOT_READY:
|
||||
utils::pause();
|
||||
continue;
|
||||
default:
|
||||
die_with_error(status);
|
||||
|
|
|
@ -26,6 +26,13 @@ namespace vk
|
|||
u64 last_label_submit_event = 0;
|
||||
u64 commands_complete_event = 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
|
||||
|
|
Loading…
Add table
Reference in a new issue