@@ -206,6 +206,8 @@ enum ArBasicKind {
206206 AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY,
207207 AR_OBJECT_VK_SAMPLED_TEXTURE2DMS,
208208 AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY,
209+ AR_OBJECT_VK_SAMPLED_TEXTURECUBE,
210+ AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY,
209211 AR_OBJECT_VK_SAMPLED_TEXTURE3D,
210212#endif // ENABLE_SPIRV_CODEGEN
211213 // SPIRV change ends
@@ -573,6 +575,8 @@ const UINT g_uBasicKindProps[] = {
573575 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
574576 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
575577 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY
578+ BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURECUBE
579+ BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY
576580 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE3D
577581#endif // ENABLE_SPIRV_CODEGEN
578582 // SPIRV change ends
@@ -1294,6 +1298,10 @@ static const ArBasicKind g_VKSampledTexture2DMSCT[] = {
12941298 AR_OBJECT_VK_SAMPLED_TEXTURE2DMS, AR_BASIC_UNKNOWN};
12951299static const ArBasicKind g_VKSampledTexture2DMSArrayCT[] = {
12961300 AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY, AR_BASIC_UNKNOWN};
1301+ static const ArBasicKind g_VKSampledTextureCUBECT[] = {
1302+ AR_OBJECT_VK_SAMPLED_TEXTURECUBE, AR_BASIC_UNKNOWN};
1303+ static const ArBasicKind g_VKSampledTextureCUBEArrayCT[] = {
1304+ AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY, AR_BASIC_UNKNOWN};
12971305static const ArBasicKind g_VKSampledTexture3DCT[] = {
12981306 AR_OBJECT_VK_SAMPLED_TEXTURE3D, AR_BASIC_UNKNOWN};
12991307#endif
@@ -1365,6 +1373,8 @@ const ArBasicKind *g_LegalIntrinsicCompTypes[] = {
13651373 g_VKSampledTexture2DArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D_ARRAY
13661374 g_VKSampledTexture2DMSCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2DMS
13671375 g_VKSampledTexture2DMSArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2DMS_ARRAY
1376+ g_VKSampledTextureCUBECT, // LICOMPTYPE_VK_SAMPLED_TEXTURECUBE
1377+ g_VKSampledTextureCUBEArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURECUBE_ARRAY
13681378 g_VKSampledTexture3DCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE3D
13691379#endif
13701380};
@@ -1428,7 +1438,8 @@ static const ArBasicKind g_ArBasicKindsAsTypes[] = {
14281438 AR_OBJECT_VK_BUFFER_POINTER, AR_OBJECT_VK_SAMPLED_TEXTURE1D,
14291439 AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE2D,
14301440 AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE2DMS,
1431- AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE3D,
1441+ AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURECUBE,
1442+ AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE3D,
14321443#endif // ENABLE_SPIRV_CODEGEN
14331444 // SPIRV change ends
14341445
@@ -1546,6 +1557,8 @@ static const uint8_t g_ArBasicKindsTemplateCount[] = {
15461557 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
15471558 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
15481559 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY
1560+ 1, // AR_OBJECT_VK_SAMPLED_TEXTURECUBE
1561+ 1, // AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY
15491562 1, // AR_OBJECT_VK_SAMPLED_TEXTURE3D
15501563#endif // ENABLE_SPIRV_CODEGEN
15511564 // SPIRV change ends
@@ -1706,6 +1719,8 @@ static const SubscriptOperatorRecord g_ArBasicKindsSubscripts[] = {
17061719 {3, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
17071720 {2, MipsFalse, SampleTrue}, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
17081721 {3, MipsFalse, SampleTrue}, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY
1722+ {0, MipsFalse, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURECUBE
1723+ {0, MipsFalse, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY
17091724 {3, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE3D
17101725#endif // ENABLE_SPIRV_CODEGEN
17111726 // SPIRV change ends
@@ -1882,6 +1897,8 @@ static const char *g_ArBasicTypeNames[] = {
18821897 "SampledTexture2DArray",
18831898 "SampledTexture2DMS",
18841899 "SampledTexture2DMSArray",
1900+ "SampledTextureCUBE",
1901+ "SampledTextureCUBEArray",
18851902 "SampledTexture3D",
18861903#endif // ENABLE_SPIRV_CODEGEN
18871904 // SPIRV change ends
@@ -2563,6 +2580,14 @@ static void GetIntrinsicMethods(ArBasicKind kind,
25632580 *intrinsics = g_VkSampledTexture2DMSArrayMethods;
25642581 *intrinsicCount = _countof(g_VkSampledTexture2DMSArrayMethods);
25652582 break;
2583+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE:
2584+ *intrinsics = g_VkSampledTextureCUBEMethods;
2585+ *intrinsicCount = _countof(g_VkSampledTextureCUBEMethods);
2586+ break;
2587+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY:
2588+ *intrinsics = g_VkSampledTextureCUBEArrayMethods;
2589+ *intrinsicCount = _countof(g_VkSampledTextureCUBEArrayMethods);
2590+ break;
25662591 case AR_OBJECT_VK_SAMPLED_TEXTURE3D:
25672592 *intrinsics = g_VkSampledTexture3DMethods;
25682593 *intrinsicCount = _countof(g_VkSampledTexture3DMethods);
@@ -4178,7 +4203,9 @@ class HLSLExternalSource : public ExternalSemaSource {
41784203 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY ||
41794204 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS ||
41804205 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY ||
4181- kind == AR_OBJECT_VK_SAMPLED_TEXTURE3D) {
4206+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE3D ||
4207+ kind == AR_OBJECT_VK_SAMPLED_TEXTURECUBE ||
4208+ kind == AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY) {
41824209 if (!m_vkNSDecl)
41834210 continue;
41844211 QualType float4Type =
@@ -5174,10 +5201,16 @@ class HLSLExternalSource : public ExternalSemaSource {
51745201 ResClass = DXIL::ResourceClass::UAV;
51755202 return true;
51765203 case AR_OBJECT_TEXTURECUBE:
5204+ #ifdef ENABLE_SPIRV_CODEGEN
5205+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE:
5206+ #endif
51775207 ResKind = DXIL::ResourceKind::TextureCube;
51785208 ResClass = DXIL::ResourceClass::SRV;
51795209 return true;
51805210 case AR_OBJECT_TEXTURECUBE_ARRAY:
5211+ #ifdef ENABLE_SPIRV_CODEGEN
5212+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY:
5213+ #endif
51815214 ResKind = DXIL::ResourceKind::TextureCubeArray;
51825215 ResClass = DXIL::ResourceClass::SRV;
51835216 return true;
0 commit comments