mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-03 16:02:26 +00:00
Merge branch 'martin/dreams' of github.com:0xcaff/shadPS4 into martin/dreams
This commit is contained in:
commit
b8b09bc86f
@ -34,7 +34,7 @@ int PS4_SYSV_ABI sceGnmDebugHardwareStatus();
|
|||||||
s32 PS4_SYSV_ABI sceGnmDeleteEqEvent(SceKernelEqueue eq, u64 id);
|
s32 PS4_SYSV_ABI sceGnmDeleteEqEvent(SceKernelEqueue eq, u64 id);
|
||||||
int PS4_SYSV_ABI sceGnmDestroyWorkloadStream();
|
int PS4_SYSV_ABI sceGnmDestroyWorkloadStream();
|
||||||
void PS4_SYSV_ABI sceGnmDingDong(u32 gnm_vqid, u32 next_offs_dw);
|
void PS4_SYSV_ABI sceGnmDingDong(u32 gnm_vqid, u32 next_offs_dw);
|
||||||
int PS4_SYSV_ABI sceGnmDingDongForWorkload();
|
void PS4_SYSV_ABI sceGnmDingDongForWorkload(u32 gnm_vqid, u32 next_offs_dw);
|
||||||
int PS4_SYSV_ABI sceGnmDisableMipStatsReport();
|
int PS4_SYSV_ABI sceGnmDisableMipStatsReport();
|
||||||
s32 PS4_SYSV_ABI sceGnmDispatchDirect(u32* cmdbuf, u32 size, u32 threads_x, u32 threads_y,
|
s32 PS4_SYSV_ABI sceGnmDispatchDirect(u32* cmdbuf, u32 size, u32 threads_x, u32 threads_y,
|
||||||
u32 threads_z, u32 flags);
|
u32 threads_z, u32 flags);
|
||||||
|
@ -332,15 +332,19 @@ int MemoryManager::DirectMemoryQuery(PAddr addr, bool find_next,
|
|||||||
std::scoped_lock lk{mutex};
|
std::scoped_lock lk{mutex};
|
||||||
|
|
||||||
auto dmem_area = FindDmemArea(addr);
|
auto dmem_area = FindDmemArea(addr);
|
||||||
while (dmem_area != dmem_map.end() && dmem_area->second.is_free && find_next) {
|
if (addr >= dmem_area->second.base + dmem_area->second.size) {
|
||||||
dmem_area++;
|
if (!find_next) {
|
||||||
}
|
|
||||||
|
|
||||||
if (dmem_area == dmem_map.end() || dmem_area->second.is_free) {
|
|
||||||
LOG_ERROR(Core, "Unable to find allocated direct memory region to query!");
|
LOG_ERROR(Core, "Unable to find allocated direct memory region to query!");
|
||||||
return ORBIS_KERNEL_ERROR_EACCES;
|
return ORBIS_KERNEL_ERROR_EACCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dmem_area++;
|
||||||
|
if (dmem_area == dmem_map.end()) {
|
||||||
|
LOG_ERROR(Core, "Unable to find allocated direct memory region to query!");
|
||||||
|
return ORBIS_KERNEL_ERROR_EACCES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const auto& area = dmem_area->second;
|
const auto& area = dmem_area->second;
|
||||||
out_info->start = area.base;
|
out_info->start = area.base;
|
||||||
out_info->end = area.GetEnd();
|
out_info->end = area.GetEnd();
|
||||||
|
Loading…
Reference in New Issue
Block a user