Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5acad43f authored by Nikita Gupta's avatar Nikita Gupta
Browse files

Capture VkPhysicalDeviceImage2DViewOf3DFeaturesEXT in vkjson

Test: adb shell cmd gpu vkjson
Flag: NONE infeasible
Bug: b/398767733
Change-Id: Ibd1013f4a561e8e99903594fc3d382e0adcb318f
parent 8ce652f7
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -984,6 +984,13 @@ inline bool Iterate(Visitor* visitor,
                        &features->variable_pointer_features_khr);
}

template <typename Visitor>
inline bool Iterate(Visitor* visitor,
                    VkJsonExtImage2DViewOf3DFeatures* features) {
  return visitor->Visit("image2DViewOf3DFeaturesEXT",
                        &features->image_2D_view_of_3D_features_EXT);
}

template <typename Visitor>
inline bool Iterate(Visitor* visitor,
                    VkJsonExtShaderFloat16Int8Features* features) {
@@ -1091,6 +1098,13 @@ inline bool Iterate(Visitor* visitor,
         visitor->Visit("variablePointers", &features->variablePointers);
}

template <typename Visitor>
inline bool Iterate(Visitor* visitor,
                    VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* features) {
  return visitor->Visit("image2DViewOf3D", &features->image2DViewOf3D) &&
         visitor->Visit("sampler2DViewOf3D", &features->sampler2DViewOf3D);
}

template <typename Visitor>
inline bool Iterate(Visitor* visitor,
                    VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* features) {
@@ -1241,6 +1255,10 @@ inline bool Iterate(Visitor* visitor, VkJsonDevice* device) {
        ret &= visitor->Visit("VK_KHR_variable_pointers",
                            &device->ext_variable_pointer_features);
      }
      if (device->ext_image_2d_view_of_3d_features.reported) {
        ret &= visitor->Visit("VK_EXT_image_2d_view_of_3d",
                              &device->ext_image_2d_view_of_3d_features);
      }
      if (device->ext_shader_float16_int8_features.reported) {
        ret &= visitor->Visit("VK_KHR_shader_float16_int8",
                              &device->ext_shader_float16_int8_features);
+11 −0
Original line number Diff line number Diff line
@@ -58,6 +58,16 @@ struct VkJsonExtVariablePointerFeatures {
  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;
@@ -115,6 +125,7 @@ struct VkJsonDevice {
  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;
+10 −0
Original line number Diff line number Diff line
@@ -103,6 +103,16 @@ VkJsonDevice VkJsonGetDevice(VkPhysicalDevice physical_device) {
    features.pNext =
        &device.ext_variable_pointer_features.variable_pointer_features_khr;
  }
  if (HasExtension("VK_EXT_image_2d_view_of_3d", device.extensions)) {
    device.ext_image_2d_view_of_3d_features.reported = true;
    device.ext_image_2d_view_of_3d_features.image_2D_view_of_3D_features_EXT
        .sType =
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT;
    device.ext_image_2d_view_of_3d_features.image_2D_view_of_3D_features_EXT
        .pNext = features.pNext;
    features.pNext = &device.ext_image_2d_view_of_3d_features
                          .image_2D_view_of_3D_features_EXT;
  }
  if (HasExtension("VK_KHR_shader_float16_int8", device.extensions)) {
    device.ext_shader_float16_int8_features.reported = true;
    device.ext_shader_float16_int8_features.shader_float16_int8_features_khr