1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 02:32:36 +01:00

Fix build and cleanup

This commit is contained in:
kd-11 2024-10-23 02:47:19 +03:00 committed by kd-11
parent c28ec457fd
commit 5ed7d043c4
8 changed files with 31 additions and 17 deletions

View File

@ -36,7 +36,7 @@ namespace gl
void dma_block::resize(u32 new_length)
{
if (new_length < length())
if (new_length <= length())
{
return;
}

View File

@ -7,6 +7,7 @@
#include "Emu/Memory/vm_locking.h"
#include "Emu/RSX/rsx_methods.h"
#include "Emu/RSX/Host/RSXDMAWriter.h"
#include "Emu/RSX/NV47/HW/context_accessors.define.h"
[[noreturn]] extern void report_fatal_error(std::string_view _text, bool is_html = false, bool include_help_text = true);

View File

@ -1,10 +1,6 @@
#include "stdafx.h"
#include "RSXThread.h"
#include "Emu/Cell/PPUCallback.h"
#include "Emu/Cell/SPUThread.h"
#include "Emu/Cell/timers.hpp"
#include "Capture/rsx_capture.h"
#include "Common/BufferUtils.h"
#include "Common/buffer_stream.hpp"
@ -13,9 +9,17 @@
#include "Common/time.hpp"
#include "Core/RSXReservationLock.hpp"
#include "Core/RSXEngLock.hpp"
#include "Host/RSXDMAWriter.h"
#include "NV47/HW/context.h"
#include "Program/GLSLCommon.h"
#include "rsx_methods.h"
#include "gcm_printing.h"
#include "RSXDisAsm.h"
#include "Emu/Cell/PPUCallback.h"
#include "Emu/Cell/SPUThread.h"
#include "Emu/Cell/timers.hpp"
#include "Emu/Cell/lv2/sys_event.h"
#include "Emu/Cell/lv2/sys_time.h"
#include "Emu/Cell/Modules/cellGcmSys.h"
@ -23,11 +27,10 @@
#include "Overlays/overlay_perf_metrics.h"
#include "Overlays/overlay_debug_overlay.h"
#include "Overlays/overlay_message.h"
#include "Program/GLSLCommon.h"
#include "Utilities/date_time.h"
#include "Utilities/StrUtil.h"
#include "Crypto/unzip.h"
#include "NV47/HW/context.h"
#include "util/asm.hpp"

View File

@ -35,8 +35,6 @@
#include "NV47/FW/GRAPH_backend.h"
#include "Host/RSXDMAWriter.h"
extern atomic_t<bool> g_user_asked_for_frame_capture;
extern atomic_t<bool> g_disable_frame_limit;
extern rsx::frame_trace_data frame_debug;
@ -44,6 +42,8 @@ extern rsx::frame_capture_data frame_capture;
namespace rsx
{
class RSXDMAWriter;
struct context;
namespace overlays

View File

@ -15,6 +15,7 @@
#include "vkutils/scratch.h"
#include "Emu/RSX/rsx_methods.h"
#include "Emu/RSX/Host/RSXDMAWriter.h"
#include "Emu/RSX/NV47/HW/context_accessors.define.h"
#include "Emu/Memory/vm_locking.h"
@ -1846,6 +1847,19 @@ bool VKGSRender::release_GCM_label(u32 address, u32 args)
return true;
}
void VKGSRender::on_guest_texture_read(const vk::command_buffer& cmd)
{
if (!backend_config.supports_host_gpu_labels)
{
return;
}
// Queue a sync update on the CB doing the load
auto host_ctx = ensure(m_host_dma_ctrl->host_ctx());
const auto event_id = host_ctx->on_texture_load_acquire();
vkCmdUpdateBuffer(cmd, m_host_object_data->value, ::offset32(&vk::host_data_t::texture_load_complete_event), sizeof(u64), &event_id);
}
void VKGSRender::sync_hint(rsx::FIFO::interrupt_hint hint, rsx::reports::sync_hint_payload_t payload)
{
rsx::thread::sync_hint(hint, payload);

View File

@ -280,6 +280,7 @@ public:
// Host sync object
std::pair<volatile vk::host_data_t*, VkBuffer> map_host_object_data() const;
void on_guest_texture_read(const vk::command_buffer& cmd);
// GRAPH backend
void patch_transform_constants(rsx::context* ctx, u32 index, u32 count) override;

View File

@ -11,6 +11,7 @@
#include "util/asm.hpp"
#include <optional>
#include <thread>
// Initial heap allocation values. The heaps are growable and will automatically increase in size to accomodate demands
#define VK_ATTRIB_RING_BUFFER_SIZE_M 64

View File

@ -1240,15 +1240,9 @@ namespace vk
dst_image->queue_release(cmd2, cmd.get_queue_family(), dst_image->current_layout);
}
if (auto rsxthr = rsx::get_current_renderer();
rsxthr->get_backend_config().supports_host_gpu_labels)
if (auto rsxthr = static_cast<VKGSRender*>(rsx::get_current_renderer()))
{
// 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->on_texture_load_acquire();
vkCmdUpdateBuffer(cmd2, host_buffer, ::offset32(&vk::host_data_t::texture_load_complete_event), sizeof(u64), &event_id);
rsxthr->on_guest_texture_read(cmd2);
}
}