mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
radv: expose the compute queue
v2: Don't expose the SDMA queue and use the CIK check also in the
second if. (Bas)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
442735d35d
commit
6229994ab7
1 changed files with 40 additions and 10 deletions
|
|
@ -553,20 +553,50 @@ void radv_GetPhysicalDeviceQueueFamilyProperties(
|
|||
uint32_t* pCount,
|
||||
VkQueueFamilyProperties* pQueueFamilyProperties)
|
||||
{
|
||||
RADV_FROM_HANDLE(radv_physical_device, pdevice, physicalDevice);
|
||||
int num_queue_families = 1;
|
||||
bool all_queues = env_var_as_boolean("RADV_SHOW_QUEUES", true);
|
||||
int idx;
|
||||
if (all_queues && pdevice->rad_info.chip_class >= CIK) {
|
||||
if (pdevice->rad_info.compute_rings > 0)
|
||||
num_queue_families++;
|
||||
}
|
||||
|
||||
if (pQueueFamilyProperties == NULL) {
|
||||
*pCount = 1;
|
||||
*pCount = num_queue_families;
|
||||
return;
|
||||
}
|
||||
assert(*pCount >= 1);
|
||||
|
||||
*pQueueFamilyProperties = (VkQueueFamilyProperties) {
|
||||
.queueFlags = VK_QUEUE_GRAPHICS_BIT |
|
||||
VK_QUEUE_COMPUTE_BIT |
|
||||
VK_QUEUE_TRANSFER_BIT,
|
||||
.queueCount = 1,
|
||||
.timestampValidBits = 64,
|
||||
.minImageTransferGranularity = (VkExtent3D) { 1, 1, 1 },
|
||||
};
|
||||
if (!*pCount)
|
||||
return;
|
||||
|
||||
idx = 0;
|
||||
if (*pCount >= 1) {
|
||||
pQueueFamilyProperties[idx] = (VkQueueFamilyProperties) {
|
||||
.queueFlags = VK_QUEUE_GRAPHICS_BIT |
|
||||
VK_QUEUE_COMPUTE_BIT |
|
||||
VK_QUEUE_TRANSFER_BIT,
|
||||
.queueCount = 1,
|
||||
.timestampValidBits = 64,
|
||||
.minImageTransferGranularity = (VkExtent3D) { 1, 1, 1 },
|
||||
};
|
||||
idx++;
|
||||
}
|
||||
|
||||
if (!all_queues)
|
||||
return;
|
||||
|
||||
if (pdevice->rad_info.compute_rings > 0 && pdevice->rad_info.chip_class >= CIK) {
|
||||
if (*pCount > idx) {
|
||||
pQueueFamilyProperties[idx] = (VkQueueFamilyProperties) {
|
||||
.queueFlags = VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT,
|
||||
.queueCount = pdevice->rad_info.compute_rings,
|
||||
.timestampValidBits = 64,
|
||||
.minImageTransferGranularity = (VkExtent3D) { 1, 1, 1 },
|
||||
};
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void radv_GetPhysicalDeviceMemoryProperties(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue