Vulkan: EXT_YUV_target: add vk feature
This Vulkan feature will be set to true once we detect support
from underlying Vk driver (method TBD).
Bug: b/223456677
Change-Id: I5003068c3119f43befb92579d4b656e3a9346363
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788564
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Lingfeng Yang <lfy@google.com>
diff --git a/include/platform/FeaturesVk_autogen.h b/include/platform/FeaturesVk_autogen.h
index f467af3..0b0aa90 100644
--- a/include/platform/FeaturesVk_autogen.h
+++ b/include/platform/FeaturesVk_autogen.h
@@ -671,6 +671,13 @@
"Prefer to use VK_FILTER_LINEAR for VkSamplerYcbcrConversion",
&members,
};
+
+ FeatureInfo supportsYuvTarget = {
+ "supportsYuvTarget",
+ FeatureCategory::VulkanFeatures,
+ "VkDevice supports VK_ANDROID_render_to_external_format and VK_EXT_ycbcr_attachment",
+ &members,
+ };
};
inline FeaturesVk::FeaturesVk() = default;
diff --git a/include/platform/vk_features.json b/include/platform/vk_features.json
index 682cf40..6da7b05 100644
--- a/include/platform/vk_features.json
+++ b/include/platform/vk_features.json
@@ -901,6 +901,13 @@
"description": [
"Prefer to use VK_FILTER_LINEAR for VkSamplerYcbcrConversion"
]
+ },
+ {
+ "name": "supports_yuv_target",
+ "category": "Features",
+ "description": [
+ "VkDevice supports VK_ANDROID_render_to_external_format and VK_EXT_ycbcr_attachment"
+ ]
}
]
}
diff --git a/scripts/code_generation_hashes/ANGLE_features.json b/scripts/code_generation_hashes/ANGLE_features.json
index 3e433206..c64065f 100644
--- a/scripts/code_generation_hashes/ANGLE_features.json
+++ b/scripts/code_generation_hashes/ANGLE_features.json
@@ -6,7 +6,7 @@
"include/platform/FeaturesMtl_autogen.h":
"6b6d49c35bc9246361f8dac0a5445a02",
"include/platform/FeaturesVk_autogen.h":
- "816ce4ef901605dbe0d03edf3eb4f3b5",
+ "ae534158f23be1a675a733bcce7a8c01",
"include/platform/FrontendFeatures_autogen.h":
"1781e4fa6efb552bca2ce5a5164eb374",
"include/platform/d3d_features.json":
@@ -20,9 +20,9 @@
"include/platform/mtl_features.json":
"1fabfe4d5c2eb3683a5b567ab60ad83c",
"include/platform/vk_features.json":
- "3574d1618307a49d242a424c0d79a8a3",
+ "e13d14c9acb284da1a938f9513a2b5d1",
"util/angle_features_autogen.cpp":
- "4c8feb678e0aff9c853d4aec094c2528",
+ "aa68addb1417dd8559123009ac13afcb",
"util/angle_features_autogen.h":
- "7d9d5092bb61cc298733a6c9a2dfd598"
+ "31a767db31309b7f3bbe7b8d0b294f56"
}
\ No newline at end of file
diff --git a/util/angle_features_autogen.cpp b/util/angle_features_autogen.cpp
index 06696e2..354bd06 100644
--- a/util/angle_features_autogen.cpp
+++ b/util/angle_features_autogen.cpp
@@ -269,6 +269,7 @@
{Feature::SupportsSurfaceProtectedSwapchains, "supportsSurfaceProtectedSwapchains"},
{Feature::SupportsTransformFeedbackExtension, "supportsTransformFeedbackExtension"},
{Feature::SupportsYUVSamplerConversion, "supportsYUVSamplerConversion"},
+ {Feature::SupportsYuvTarget, "supportsYuvTarget"},
{Feature::SwapbuffersOnFlushOrFinishWithSingleBuffer,
"swapbuffersOnFlushOrFinishWithSingleBuffer"},
{Feature::SyncVertexArraysToDefault, "syncVertexArraysToDefault"},
diff --git a/util/angle_features_autogen.h b/util/angle_features_autogen.h
index 36e3322..3511c8f 100644
--- a/util/angle_features_autogen.h
+++ b/util/angle_features_autogen.h
@@ -253,6 +253,7 @@
SupportsSurfaceProtectedSwapchains,
SupportsTransformFeedbackExtension,
SupportsYUVSamplerConversion,
+ SupportsYuvTarget,
SwapbuffersOnFlushOrFinishWithSingleBuffer,
SyncVertexArraysToDefault,
UnbindFBOBeforeSwitchingContext,