mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-12 09:48:37 +12:00
vk: Workaround for amdgpu kernel driver
This commit is contained in:
parent
f7fdfe52bc
commit
e56da4eb46
1 changed files with 7 additions and 2 deletions
|
@ -281,12 +281,17 @@ namespace vk
|
||||||
void create_dma_block(std::unique_ptr<dma_block>& block)
|
void create_dma_block(std::unique_ptr<dma_block>& block)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
if (g_render_device->get_external_memory_host_support())
|
const bool allow_host_buffers = true;
|
||||||
|
#else
|
||||||
|
// Anything running on AMDGPU kernel driver will not work due to the check for fd-backed memory allocations
|
||||||
|
const auto vendor = g_render_device->gpu().get_driver_vendor();
|
||||||
|
const bool allow_host_buffers = (vendor != driver_vendor::AMD && vendor != driver_vendor::RADV);
|
||||||
|
#endif
|
||||||
|
if (g_render_device->get_external_memory_host_support() && allow_host_buffers)
|
||||||
{
|
{
|
||||||
block.reset(new dma_block_EXT());
|
block.reset(new dma_block_EXT());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
block.reset(new dma_block());
|
block.reset(new dma_block());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue