*format_count += AppDumpSurfaceFormats(inst, &gpus[i], out);
*present_mode_count += AppDumpSurfacePresentModes(inst, &gpus[i], out);
AppDumpSurfaceCapabilities(inst, &gpus[i], out);
- AppDestroySurface(inst);
+
if (html_output) {
fprintf(out, "\t\t\t\t</details>\n");
} else if (human_readable_output) {
props = *props_const;
}
+ VkBool32 supports_present = VK_FALSE;
+ if (gpu->inst->surface) {
+ VkResult err = vkGetPhysicalDeviceSurfaceSupportKHR(gpu->obj, id, gpu->inst->surface, &supports_present);
+ }
+
if (html_output) {
fprintf(out, "\t\t\t\t\t<details><summary>VkQueueFamilyProperties[<div class='val'>%d</div>]</summary>\n", id);
fprintf(out, "\t\t\t\t\t\t<details><summary>queueFlags = ");
fprintf(out, "\t\t\t\t\t\t<details><summary>timestampValidBits = <div class='val'>%u</div></summary></details>\n", props.timestampValidBits);
fprintf(out, "\t\t\t\t\t\t<details><summary>minImageTransferGranularity = (<div class='val'>%d</div>, <div class='val'>%d</div>, <div class='val'>%d</div>)</summary></details>\n",
props.minImageTransferGranularity.width, props.minImageTransferGranularity.height, props.minImageTransferGranularity.depth);
+ fprintf(out, "\t\t\t\t\t\t<details><summary>present support = <div class='val'>%s</div></summary></details>\n",
+ supports_present ? "true" : "false");
fprintf(out, "\t\t\t\t\t</details>\n");
} else if (human_readable_output) {
printf("\n");
printf("\ttimestampValidBits = %u\n", props.timestampValidBits);
printf("\tminImageTransferGranularity = (%d, %d, %d)\n", props.minImageTransferGranularity.width,
props.minImageTransferGranularity.height, props.minImageTransferGranularity.depth);
+ printf("\tpresent support = %s\n", supports_present ? "true" : "false");
}
if (json_output) {
printf("\t\t{\n");
printf("\t\t\t},\n");
printf("\t\t\t\"queueCount\": %u,\n", props.queueCount);
printf("\t\t\t\"queueFlags\": %u,\n", props.queueFlags);
- printf("\t\t\t\"timestampValidBits\": %u\n", props.timestampValidBits);
+ printf("\t\t\t\"timestampValidBits\": %u,\n", props.timestampValidBits);
+ printf("\t\t\t\"present_support\": %s\n", supports_present ? "\"true\"" : "\"false\"");
printf("\t\t}");
}
int main(int argc, char **argv) {
uint32_t gpu_count;
VkResult err;
- struct AppInstance inst;
+ struct AppInstance inst = {0};
FILE *out = stdout;
#ifdef _WIN32
free(gpus);
free(objs);
+ AppDestroySurface(&inst);
AppDestroyInstance(&inst);
if (html_output) {