Skip to content

Commit 5acad43

Browse files
committed
Capture VkPhysicalDeviceImage2DViewOf3DFeaturesEXT in vkjson
Test: adb shell cmd gpu vkjson Flag: NONE infeasible Bug: b/398767733 Change-Id: Ibd1013f4a561e8e99903594fc3d382e0adcb318f
1 parent 8ce652f commit 5acad43

3 files changed

Lines changed: 39 additions & 0 deletions

File tree

vulkan/vkjson/vkjson.cc

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -984,6 +984,13 @@ inline bool Iterate(Visitor* visitor,
984984
&features->variable_pointer_features_khr);
985985
}
986986

987+
template <typename Visitor>
988+
inline bool Iterate(Visitor* visitor,
989+
VkJsonExtImage2DViewOf3DFeatures* features) {
990+
return visitor->Visit("image2DViewOf3DFeaturesEXT",
991+
&features->image_2D_view_of_3D_features_EXT);
992+
}
993+
987994
template <typename Visitor>
988995
inline bool Iterate(Visitor* visitor,
989996
VkJsonExtShaderFloat16Int8Features* features) {
@@ -1091,6 +1098,13 @@ inline bool Iterate(Visitor* visitor,
10911098
visitor->Visit("variablePointers", &features->variablePointers);
10921099
}
10931100

1101+
template <typename Visitor>
1102+
inline bool Iterate(Visitor* visitor,
1103+
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* features) {
1104+
return visitor->Visit("image2DViewOf3D", &features->image2DViewOf3D) &&
1105+
visitor->Visit("sampler2DViewOf3D", &features->sampler2DViewOf3D);
1106+
}
1107+
10941108
template <typename Visitor>
10951109
inline bool Iterate(Visitor* visitor,
10961110
VkPhysicalDeviceShaderFloat16Int8FeaturesKHR* features) {
@@ -1241,6 +1255,10 @@ inline bool Iterate(Visitor* visitor, VkJsonDevice* device) {
12411255
ret &= visitor->Visit("VK_KHR_variable_pointers",
12421256
&device->ext_variable_pointer_features);
12431257
}
1258+
if (device->ext_image_2d_view_of_3d_features.reported) {
1259+
ret &= visitor->Visit("VK_EXT_image_2d_view_of_3d",
1260+
&device->ext_image_2d_view_of_3d_features);
1261+
}
12441262
if (device->ext_shader_float16_int8_features.reported) {
12451263
ret &= visitor->Visit("VK_KHR_shader_float16_int8",
12461264
&device->ext_shader_float16_int8_features);

vulkan/vkjson/vkjson.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,16 @@ struct VkJsonExtVariablePointerFeatures {
5858
VkPhysicalDeviceVariablePointerFeaturesKHR variable_pointer_features_khr;
5959
};
6060

61+
struct VkJsonExtImage2DViewOf3DFeatures {
62+
VkJsonExtImage2DViewOf3DFeatures() {
63+
reported = false;
64+
memset(&image_2D_view_of_3D_features_EXT, 0,
65+
sizeof(VkPhysicalDeviceImage2DViewOf3DFeaturesEXT));
66+
}
67+
bool reported;
68+
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT image_2D_view_of_3D_features_EXT;
69+
};
70+
6171
struct VkJsonExtShaderFloat16Int8Features {
6272
VkJsonExtShaderFloat16Int8Features() {
6373
reported = false;
@@ -115,6 +125,7 @@ struct VkJsonDevice {
115125
VkPhysicalDeviceFeatures features;
116126
VkJsonExtDriverProperties ext_driver_properties;
117127
VkJsonExtVariablePointerFeatures ext_variable_pointer_features;
128+
VkJsonExtImage2DViewOf3DFeatures ext_image_2d_view_of_3d_features;
118129
VkJsonExtShaderFloat16Int8Features ext_shader_float16_int8_features;
119130
VkPhysicalDeviceMemoryProperties memory;
120131
std::vector<VkQueueFamilyProperties> queues;

vulkan/vkjson/vkjson_instance.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,16 @@ VkJsonDevice VkJsonGetDevice(VkPhysicalDevice physical_device) {
103103
features.pNext =
104104
&device.ext_variable_pointer_features.variable_pointer_features_khr;
105105
}
106+
if (HasExtension("VK_EXT_image_2d_view_of_3d", device.extensions)) {
107+
device.ext_image_2d_view_of_3d_features.reported = true;
108+
device.ext_image_2d_view_of_3d_features.image_2D_view_of_3D_features_EXT
109+
.sType =
110+
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT;
111+
device.ext_image_2d_view_of_3d_features.image_2D_view_of_3D_features_EXT
112+
.pNext = features.pNext;
113+
features.pNext = &device.ext_image_2d_view_of_3d_features
114+
.image_2D_view_of_3D_features_EXT;
115+
}
106116
if (HasExtension("VK_KHR_shader_float16_int8", device.extensions)) {
107117
device.ext_shader_float16_int8_features.reported = true;
108118
device.ext_shader_float16_int8_features.shader_float16_int8_features_khr

0 commit comments

Comments
 (0)