diff --git a/gpu-vulkan-core.cabal b/gpu-vulkan-core.cabal
--- a/gpu-vulkan-core.cabal
+++ b/gpu-vulkan-core.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           gpu-vulkan-core
-version:        0.1.0.14
+version:        0.1.0.16
 synopsis:       Thin wrapper for Vulkan API
 description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/gpu-vulkan-core#readme>
 category:       GPU
diff --git a/src/Gpu/Vulkan/PhysicalDevice/Core.hsc b/src/Gpu/Vulkan/PhysicalDevice/Core.hsc
--- a/src/Gpu/Vulkan/PhysicalDevice/Core.hsc
+++ b/src/Gpu/Vulkan/PhysicalDevice/Core.hsc
@@ -55,8 +55,10 @@
 
 	getFeatures2, Features2,
 	pattern Features2, features2SType, features2PNext, features2Features,
-	Vulkan12Features, pattern Vulkan12Features,
-	Vulkan13Features, pattern Vulkan13Features,
+	Vulkan12Features, pattern Vulkan12Features, getClearedVulkan12Features,
+	Vulkan13Features, pattern Vulkan13Features, getClearedVulkan13Features,
+	DescriptorIndexingFeatures, pattern DescriptorIndexingFeatures,
+	getClearedDescriptorIndexingFeatures,
 
 	-- ** ShaderDrawParametersFeatures
 
@@ -202,6 +204,24 @@
 	getQueueFamilyProperties ::
 	P -> Ptr #{type uint32_t} -> Ptr QueueFamily.Properties ->
 	IO ()
+
+getClearedVulkan12Features :: IO Vulkan12Features
+getClearedVulkan12Features = do
+	pf <- calloc
+	zero <- Vulkan12Features_ <$> newForeignPtr pf (free pf)
+	pure $ zero { vulkan12FeaturesSType = () }
+
+getClearedVulkan13Features :: IO Vulkan13Features
+getClearedVulkan13Features = do
+	pf <- calloc
+	zero <- Vulkan13Features_ <$> newForeignPtr pf (free pf)
+	pure $ zero { vulkan13FeaturesSType = () }
+
+getClearedDescriptorIndexingFeatures :: IO DescriptorIndexingFeatures
+getClearedDescriptorIndexingFeatures = do
+	pf <- calloc
+	zero <- DescriptorIndexingFeatures_ <$> newForeignPtr pf (free pf)
+	pure $ zero { descriptorIndexingFeaturesSType = () }
 
 foreign import ccall "vkEnumerateDeviceExtensionProperties"
 	enumerateExtensionProperties ::
