Skip to content

Commit

Permalink
vk: Add driver vendor PANVK (Mali GPU on Mesa)
Browse files Browse the repository at this point in the history
  • Loading branch information
q4a authored and elad335 committed Jan 4, 2025
1 parent f255392 commit da84326
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 1 deletion.
1 change: 1 addition & 0 deletions rpcs3/Emu/RSX/VK/VKCompute.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ namespace vk
break;
case vk::driver_vendor::LAVAPIPE:
case vk::driver_vendor::V3DV:
case vk::driver_vendor::PANVK:
// TODO: Actually bench this. Using 32 for now to match other common configurations.
case vk::driver_vendor::DOZEN:
// Actual optimal size depends on the D3D device. Use 32 since it should work well on both AMD and NVIDIA
Expand Down
3 changes: 3 additions & 0 deletions rpcs3/Emu/RSX/VK/VKHelpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,9 @@ namespace vk
case driver_vendor::HONEYKRISP:
// Needs more testing
break;
case driver_vendor::PANVK:
// Needs more testing
break;
default:
rsx_log.warning("Unsupported device: %s", gpu_name);
}
Expand Down
1 change: 1 addition & 0 deletions rpcs3/Emu/RSX/VK/VKRenderTargets.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ namespace vk
case driver_vendor::LAVAPIPE:
case driver_vendor::V3DV:
case driver_vendor::HONEYKRISP:
case driver_vendor::PANVK:
break;
}

Expand Down
3 changes: 2 additions & 1 deletion rpcs3/Emu/RSX/VK/vkutils/chip_class.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ namespace vk
LAVAPIPE,
NVK,
V3DV,
HONEYKRISP
HONEYKRISP,
PANVK
};

driver_vendor get_driver_vendor();
Expand Down
7 changes: 7 additions & 0 deletions rpcs3/Emu/RSX/VK/vkutils/device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,11 @@ namespace vk
return driver_vendor::HONEYKRISP;
}

if (gpu_name.find("Panfrost") != umax)
{
return driver_vendor::PANVK;
}

return driver_vendor::unknown;
}
else
Expand Down Expand Up @@ -329,6 +334,8 @@ namespace vk
return driver_vendor::V3DV;
case VK_DRIVER_ID_MESA_HONEYKRISP:
return driver_vendor::HONEYKRISP;
case VK_DRIVER_ID_MESA_PANVK:
return driver_vendor::PANVK;
default:
// Mobile?
return driver_vendor::unknown;
Expand Down

0 comments on commit da84326

Please sign in to comment.