diff --git a/gpu-vulkan.cabal b/gpu-vulkan.cabal
--- a/gpu-vulkan.cabal
+++ b/gpu-vulkan.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           gpu-vulkan
-version:        0.1.0.154
+version:        0.1.0.155
 synopsis:       Vulkan library
 description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/gpu-vulkan#readme>
 category:       GPU
diff --git a/src/Gpu/Vulkan/Memory/Bind.hs b/src/Gpu/Vulkan/Memory/Bind.hs
--- a/src/Gpu/Vulkan/Memory/Bind.hs
+++ b/src/Gpu/Vulkan/Memory/Bind.hs
@@ -58,13 +58,13 @@
 		(U2 (ImageBinded $ Image.Binded i) :**)
 			<$> bindAll dv ibs m (ost' + sz)
 
-instance (VObj.SizeAlignment obj, BindAll ibargs mibargs) =>
-	BindAll ('(sb, ('BufferArg nm (obj ': objs))) ': ibargs) mibargs where
+instance (VObj.SizeAlignmentList objs, BindAll ibargs mibargs) =>
+	BindAll ('(sb, ('BufferArg nm objs)) ': ibargs) mibargs where
 	bindAll dv@(Device.D mdv)
 		(U2 bb@(Buffer (Buffer.B lns b)) :** ibs) m ost  = do
 		(_, mm) <- readM m
 		(ost', sz) <- adjustOffsetSize dv bb ost
-		let	ost'' = adjust (VObj.alignment @obj) ost'
+		let	ost'' = adjust (VObj.sizeAlignmentListWholeAlignment @objs) ost'
 		when debug . putStrLn $ "Gpu.Vulkan.Memory.Bind.BindAll (BufferArg): " ++ show (ost', sz)
 		when debug . putStrLn $ "Gpu.Vulkan.Memory.Bind.BindAll (BufferArg): ost'' = " ++ show ost''
 		Buffer.M.bindMemory mdv b mm ost''
diff --git a/src/Gpu/Vulkan/Object.hs b/src/Gpu/Vulkan/Object.hs
--- a/src/Gpu/Vulkan/Object.hs
+++ b/src/Gpu/Vulkan/Object.hs
@@ -350,14 +350,18 @@
 type ObjAlignment = Device.M.Size
 
 class SizeAlignmentList objs where
+	sizeAlignmentListWholeAlignment :: ObjAlignment
 	sizeAlignmentList :: HeteroParList.PL Length objs ->
 		HeteroParList.PL SizeAlignmentOf objs
 
 instance SizeAlignmentList '[] where
+	sizeAlignmentListWholeAlignment = 1
 	sizeAlignmentList HeteroParList.Nil = HeteroParList.Nil
 
 instance (SizeAlignment obj, SizeAlignmentList objs) =>
 	SizeAlignmentList (obj ': objs) where
+	sizeAlignmentListWholeAlignment =
+		alignment @obj `lcm` sizeAlignmentListWholeAlignment @objs
 	sizeAlignmentList (ln :** lns) =
 		SizeAlignmentOf
 			(dynNum @obj) (size ln) (alignment @obj) :**
