Update vkjson

Bug: b/401181863
Test: adb shell cmd gpu vkjson
Flag: NONE infeasible

Change-Id: If9995c3af5827ebfbe5445c1c649aed947fb2233
diff --git a/vulkan/vkjson/vkjson.h b/vulkan/vkjson/vkjson.h
index 87a76c1..d74644c 100644
--- a/vulkan/vkjson/vkjson.h
+++ b/vulkan/vkjson/vkjson.h
@@ -21,8 +21,8 @@
 #ifndef VKJSON_H_
 #define VKJSON_H_
 
-#include <vulkan/vulkan.h>
 #include <string.h>
+#include <vulkan/vulkan.h>
 
 #include <map>
 #include <string>
@@ -38,8 +38,222 @@
   std::vector<VkExtensionProperties> extensions;
 };
 
-struct VkJsonExtDriverProperties {
-  VkJsonExtDriverProperties() {
+struct VkJsonKHRVariablePointers {
+  VkJsonKHRVariablePointers() {
+    reported = false;
+    memset(&variable_pointer_features_khr, 0,
+           sizeof(VkPhysicalDeviceVariablePointerFeaturesKHR));
+    memset(&variable_pointers_features_khr, 0,
+           sizeof(VkPhysicalDeviceVariablePointersFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceVariablePointerFeaturesKHR variable_pointer_features_khr;
+  VkPhysicalDeviceVariablePointersFeaturesKHR variable_pointers_features_khr;
+};
+
+struct VkJsonKHRShaderFloat16Int8 {
+  VkJsonKHRShaderFloat16Int8() {
+    reported = false;
+    memset(&shader_float16_int8_features_khr, 0,
+           sizeof(VkPhysicalDeviceShaderFloat16Int8FeaturesKHR));
+    memset(&float16_int8_features_khr, 0,
+           sizeof(VkPhysicalDeviceFloat16Int8FeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceShaderFloat16Int8FeaturesKHR shader_float16_int8_features_khr;
+  VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8_features_khr;
+};
+
+struct VkJsonExtImage2dViewOf3d {
+  VkJsonExtImage2dViewOf3d() {
+    reported = false;
+    memset(&image_2d_view_of_3d_features_ext, 0,
+           sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceImage2DViewOf3DFeaturesEXT image_2d_view_of_3d_features_ext;
+};
+
+struct VkJsonExtCustomBorderColor {
+  VkJsonExtCustomBorderColor() {
+    reported = false;
+    memset(&custom_border_color_features_ext, 0,
+           sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceCustomBorderColorFeaturesEXT custom_border_color_features_ext;
+};
+
+struct VkJsonExtPrimitiveTopologyListRestart {
+  VkJsonExtPrimitiveTopologyListRestart() {
+    reported = false;
+    memset(&primitive_topology_list_restart_features_ext, 0,
+           sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+      primitive_topology_list_restart_features_ext;
+};
+
+struct VkJsonExtProvokingVertex {
+  VkJsonExtProvokingVertex() {
+    reported = false;
+    memset(&provoking_vertex_features_ext, 0,
+           sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceProvokingVertexFeaturesEXT provoking_vertex_features_ext;
+};
+
+struct VkJsonKHRIndexTypeUint8 {
+  VkJsonKHRIndexTypeUint8() {
+    reported = false;
+    memset(&index_type_uint8_features_khr, 0,
+           sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceIndexTypeUint8FeaturesKHR index_type_uint8_features_khr;
+};
+
+struct VkJsonExtIndexTypeUint8 {
+  VkJsonExtIndexTypeUint8() {
+    reported = false;
+    memset(&index_type_uint8_features_ext, 0,
+           sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceIndexTypeUint8FeaturesEXT index_type_uint8_features_ext;
+};
+
+struct VkJsonKHRVertexAttributeDivisor {
+  VkJsonKHRVertexAttributeDivisor() {
+    reported = false;
+    memset(&vertex_attribute_divisor_features_khr, 0,
+           sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR
+      vertex_attribute_divisor_features_khr;
+};
+
+struct VkJsonExtVertexAttributeDivisor {
+  VkJsonExtVertexAttributeDivisor() {
+    reported = false;
+    memset(&vertex_attribute_divisor_features_ext, 0,
+           sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
+      vertex_attribute_divisor_features_ext;
+};
+
+struct VkJsonExtTransformFeedback {
+  VkJsonExtTransformFeedback() {
+    reported = false;
+    memset(&transform_feedback_features_ext, 0,
+           sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceTransformFeedbackFeaturesEXT transform_feedback_features_ext;
+};
+
+struct VkJsonKHRShaderSubgroupUniformControlFlow {
+  VkJsonKHRShaderSubgroupUniformControlFlow() {
+    reported = false;
+    memset(&shader_subgroup_uniform_control_flow_features_khr, 0,
+           sizeof(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
+      shader_subgroup_uniform_control_flow_features_khr;
+};
+
+struct VkJsonKHRShaderSubgroupExtendedTypes {
+  VkJsonKHRShaderSubgroupExtendedTypes() {
+    reported = false;
+    memset(&shader_subgroup_extended_types_features_khr, 0,
+           sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR
+      shader_subgroup_extended_types_features_khr;
+};
+
+struct VkJsonKHR8bitStorage {
+  VkJsonKHR8bitStorage() {
+    reported = false;
+    memset(&bit8_storage_features_khr, 0,
+           sizeof(VkPhysicalDevice8BitStorageFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDevice8BitStorageFeaturesKHR bit8_storage_features_khr;
+};
+
+struct VkJsonKHRShaderIntegerDotProduct {
+  VkJsonKHRShaderIntegerDotProduct() {
+    reported = false;
+    memset(&shader_integer_dot_product_features_khr, 0,
+           sizeof(VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
+      shader_integer_dot_product_features_khr;
+};
+
+struct VkJsonIMGRelaxedLineRasterization {
+  VkJsonIMGRelaxedLineRasterization() {
+    reported = false;
+    memset(&relaxed_line_rasterization_features_img, 0,
+           sizeof(VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG));
+  }
+  bool reported;
+  VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG
+      relaxed_line_rasterization_features_img;
+};
+
+struct VkJsonKHRLineRasterization {
+  VkJsonKHRLineRasterization() {
+    reported = false;
+    memset(&line_rasterization_features_khr, 0,
+           sizeof(VkPhysicalDeviceLineRasterizationFeaturesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceLineRasterizationFeaturesKHR line_rasterization_features_khr;
+};
+
+struct VkJsonExtLineRasterization {
+  VkJsonExtLineRasterization() {
+    reported = false;
+    memset(&line_rasterization_features_ext, 0,
+           sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDeviceLineRasterizationFeaturesEXT line_rasterization_features_ext;
+};
+
+struct VkJsonExtPrimitivesGeneratedQuery {
+  VkJsonExtPrimitivesGeneratedQuery() {
+    reported = false;
+    memset(&primitives_generated_query_features_ext, 0,
+           sizeof(VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT));
+  }
+  bool reported;
+  VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
+      primitives_generated_query_features_ext;
+};
+
+struct VkJsonKHRShaderFloatControls {
+  VkJsonKHRShaderFloatControls() {
+    reported = false;
+    memset(&float_controls_properties_khr, 0,
+           sizeof(VkPhysicalDeviceFloatControlsPropertiesKHR));
+  }
+  bool reported;
+  VkPhysicalDeviceFloatControlsPropertiesKHR float_controls_properties_khr;
+};
+
+struct VkJsonKHRDriverProperties {
+  VkJsonKHRDriverProperties() {
     reported = false;
     memset(&driver_properties_khr, 0,
            sizeof(VkPhysicalDeviceDriverPropertiesKHR));
@@ -48,34 +262,9 @@
   VkPhysicalDeviceDriverPropertiesKHR driver_properties_khr;
 };
 
-struct VkJsonExtVariablePointerFeatures {
-  VkJsonExtVariablePointerFeatures() {
-    reported = false;
-    memset(&variable_pointer_features_khr, 0,
-           sizeof(VkPhysicalDeviceVariablePointerFeaturesKHR));
-  }
-  bool reported;
-  VkPhysicalDeviceVariablePointerFeaturesKHR variable_pointer_features_khr;
-};
-
-struct VkJsonExtImage2DViewOf3DFeatures {
-  VkJsonExtImage2DViewOf3DFeatures() {
-    reported = false;
-    memset(&image_2D_view_of_3D_features_EXT, 0,
-           sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT));
-  }
-  bool reported;
-  VkPhysicalDeviceImage2DViewOf3DFeaturesEXT image_2D_view_of_3D_features_EXT;
-};
-
-struct VkJsonExtShaderFloat16Int8Features {
-  VkJsonExtShaderFloat16Int8Features() {
-    reported = false;
-    memset(&shader_float16_int8_features_khr, 0,
-           sizeof(VkPhysicalDeviceShaderFloat16Int8FeaturesKHR));
-  }
-  bool reported;
-  VkPhysicalDeviceShaderFloat16Int8FeaturesKHR shader_float16_int8_features_khr;
+struct VkJsonCore11 {
+  VkPhysicalDeviceVulkan11Properties properties;
+  VkPhysicalDeviceVulkan11Features features;
 };
 
 struct VkJsonCore12 {
@@ -109,29 +298,48 @@
     memset(&bit16_storage_features, 0,
            sizeof(VkPhysicalDevice16BitStorageFeatures));
     memset(&multiview_features, 0, sizeof(VkPhysicalDeviceMultiviewFeatures));
-    memset(&variable_pointer_features, 0,
-           sizeof(VkPhysicalDeviceVariablePointerFeatures));
+    memset(&variable_pointers_features, 0,
+           sizeof(VkPhysicalDeviceVariablePointersFeatures));
     memset(&protected_memory_features, 0,
            sizeof(VkPhysicalDeviceProtectedMemoryFeatures));
     memset(&sampler_ycbcr_conversion_features, 0,
            sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures));
     memset(&shader_draw_parameter_features, 0,
            sizeof(VkPhysicalDeviceShaderDrawParameterFeatures));
+    memset(&core11, 0, sizeof(VkJsonCore11));
     memset(&core12, 0, sizeof(VkJsonCore12));
     memset(&core13, 0, sizeof(VkJsonCore13));
     memset(&core14, 0, sizeof(VkJsonCore14));
   }
+  VkJsonKHRVariablePointers khr_variable_pointers;
+  VkJsonKHRShaderFloat16Int8 khr_shader_float16_int8;
+  VkJsonExtImage2dViewOf3d ext_image_2d_view_of_3d;
+  VkJsonExtCustomBorderColor ext_custom_border_color;
+  VkJsonExtPrimitiveTopologyListRestart ext_primitive_topology_list_restart;
+  VkJsonExtProvokingVertex ext_provoking_vertex;
+  VkJsonKHRIndexTypeUint8 khr_index_type_uint8;
+  VkJsonExtIndexTypeUint8 ext_index_type_uint8;
+  VkJsonKHRVertexAttributeDivisor khr_vertex_attribute_divisor;
+  VkJsonExtVertexAttributeDivisor ext_vertex_attribute_divisor;
+  VkJsonExtTransformFeedback ext_transform_feedback;
+  VkJsonKHRShaderSubgroupUniformControlFlow
+      khr_shader_subgroup_uniform_control_flow;
+  VkJsonKHRShaderSubgroupExtendedTypes khr_shader_subgroup_extended_types;
+  VkJsonKHR8bitStorage khr_8bit_storage;
+  VkJsonKHRShaderIntegerDotProduct khr_shader_integer_dot_product;
+  VkJsonIMGRelaxedLineRasterization img_relaxed_line_rasterization;
+  VkJsonKHRLineRasterization khr_line_rasterization;
+  VkJsonExtLineRasterization ext_line_rasterization;
+  VkJsonExtPrimitivesGeneratedQuery ext_primitives_generated_query;
+  VkJsonKHRShaderFloatControls khr_shader_float_controls;
+  VkJsonKHRDriverProperties khr_driver_properties;
+  VkJsonCore11 core11;
+  VkJsonCore12 core12;
+  VkJsonCore13 core13;
+  VkJsonCore14 core14;
   VkPhysicalDeviceProperties properties;
   VkPhysicalDeviceFeatures features;
-  VkJsonExtDriverProperties ext_driver_properties;
-  VkJsonExtVariablePointerFeatures ext_variable_pointer_features;
-  VkJsonExtImage2DViewOf3DFeatures ext_image_2d_view_of_3d_features;
-  VkJsonExtShaderFloat16Int8Features ext_shader_float16_int8_features;
   VkPhysicalDeviceMemoryProperties memory;
-  std::vector<VkQueueFamilyProperties> queues;
-  std::vector<VkExtensionProperties> extensions;
-  std::vector<VkLayerProperties> layers;
-  std::map<VkFormat, VkFormatProperties> formats;
   VkPhysicalDeviceSubgroupProperties subgroup_properties;
   VkPhysicalDevicePointClippingProperties point_clipping_properties;
   VkPhysicalDeviceMultiviewProperties multiview_properties;
@@ -139,18 +347,19 @@
   VkPhysicalDeviceMaintenance3Properties maintenance3_properties;
   VkPhysicalDevice16BitStorageFeatures bit16_storage_features;
   VkPhysicalDeviceMultiviewFeatures multiview_features;
-  VkPhysicalDeviceVariablePointerFeatures variable_pointer_features;
+  VkPhysicalDeviceVariablePointersFeatures variable_pointers_features;
   VkPhysicalDeviceProtectedMemoryFeatures protected_memory_features;
   VkPhysicalDeviceSamplerYcbcrConversionFeatures
       sampler_ycbcr_conversion_features;
   VkPhysicalDeviceShaderDrawParameterFeatures shader_draw_parameter_features;
+  std::vector<VkQueueFamilyProperties> queues;
+  std::vector<VkExtensionProperties> extensions;
+  std::vector<VkLayerProperties> layers;
+  std::map<VkFormat, VkFormatProperties> formats;
   std::map<VkExternalFenceHandleTypeFlagBits, VkExternalFenceProperties>
       external_fence_properties;
   std::map<VkExternalSemaphoreHandleTypeFlagBits, VkExternalSemaphoreProperties>
       external_semaphore_properties;
-  VkJsonCore12 core12;
-  VkJsonCore13 core13;
-  VkJsonCore14 core14;
 };
 
 struct VkJsonDeviceGroup {
@@ -204,4 +413,4 @@
   return VkJsonDeviceFromJson(json, properties, errors);
 }
 
-#endif  // VKJSON_H_
+#endif  // VKJSON_H_
\ No newline at end of file