vulkan.h: Update features/limits structures (#12827, v125)
- Add infrastructure in vulkaninfo to dump features/limits. To be filled
out to dump everything interesting.
- Move existing limits from VkPhysicalDeviceInfo to
VkPhysicalDeviceLimits, and drop those that no longer exist.
- Adjust the drivers to fill out the above in their new location.
Other new features/limits still to be exposed by nulldrv and the intel
ICD.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
diff --git a/icd/intel/gpu.c b/icd/intel/gpu.c
index 4a82374..0bdaa7c 100644
--- a/icd/intel/gpu.c
+++ b/icd/intel/gpu.c
@@ -236,22 +236,6 @@
name_len = sizeof(props->deviceName) - 1;
memcpy(props->deviceName, name, name_len);
props->deviceName[name_len] = '\0';
-
- props->maxBoundDescriptorSets = 1;
- props->maxThreadGroupSize = 512;
-
- /* incremented every 80ns */
- props->timestampFrequency = 1000 * 1000 * 1000 / 80;
-
- props->multiColorAttachmentClears = false;
-
- /* hardware is limited to 16 viewports */
- props->maxViewports = INTEL_MAX_VIEWPORTS;
-
- props->maxColorAttachments = INTEL_MAX_RENDER_TARGETS;
-
- /* ? */
- props->maxDescriptorSets = 2;
}
void intel_gpu_get_perf(const struct intel_gpu *gpu,
@@ -497,6 +481,22 @@
/* TODO: fill out limits */
memset(pLimits, 0, sizeof(*pLimits));
+ /* no size limit, but no bounded buffer could exceed 2GB */
+ pLimits->maxInlineMemoryUpdateSize = 2u << 30;
+ pLimits->maxBoundDescriptorSets = 1;
+ pLimits->maxComputeWorkGroupInvocations = 512;
+
+ /* incremented every 80ns */
+ pLimits->timestampFrequency = 1000 * 1000 * 1000 / 80;
+
+ /* hardware is limited to 16 viewports */
+ pLimits->maxViewports = INTEL_MAX_VIEWPORTS;
+
+ pLimits->maxColorAttachments = INTEL_MAX_RENDER_TARGETS;
+
+ /* ? */
+ pLimits->maxDescriptorSets = 2;
+
return ret;
}