@@ -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 =
@@ -5013,12 +5040,18 @@ class HLSLExternalSource : public ExternalSemaSource {
50135040 case AR_OBJECT_TEXTURE1D_ARRAY:
50145041 case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
50155042 case AR_OBJECT_TEXTURE2D:
5043+ case AR_OBJECT_VK_SAMPLED_TEXTURE2D:
50165044 case AR_OBJECT_TEXTURE2D_ARRAY:
5045+ case AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY:
50175046 case AR_OBJECT_TEXTURE3D:
50185047 case AR_OBJECT_TEXTURECUBE:
5048+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE:
50195049 case AR_OBJECT_TEXTURECUBE_ARRAY:
5050+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY:
50205051 case AR_OBJECT_TEXTURE2DMS:
5052+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS:
50215053 case AR_OBJECT_TEXTURE2DMS_ARRAY:
5054+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY:
50225055
50235056 case AR_OBJECT_SAMPLER:
50245057 case AR_OBJECT_SAMPLERCOMPARISON:
@@ -5176,10 +5209,16 @@ class HLSLExternalSource : public ExternalSemaSource {
51765209 ResClass = DXIL::ResourceClass::UAV;
51775210 return true;
51785211 case AR_OBJECT_TEXTURECUBE:
5212+ #ifdef ENABLE_SPIRV_CODEGEN
5213+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE:
5214+ #endif
51795215 ResKind = DXIL::ResourceKind::TextureCube;
51805216 ResClass = DXIL::ResourceClass::SRV;
51815217 return true;
51825218 case AR_OBJECT_TEXTURECUBE_ARRAY:
5219+ #ifdef ENABLE_SPIRV_CODEGEN
5220+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY:
5221+ #endif
51835222 ResKind = DXIL::ResourceKind::TextureCubeArray;
51845223 ResClass = DXIL::ResourceClass::SRV;
51855224 return true;
@@ -11746,12 +11785,18 @@ void hlsl::DiagnoseRegisterType(clang::Sema *self, clang::SourceLocation loc,
1174611785 case AR_OBJECT_TEXTURE1D_ARRAY:
1174711786 case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
1174811787 case AR_OBJECT_TEXTURE2D:
11788+ case AR_OBJECT_VK_SAMPLED_TEXTURE2D:
1174911789 case AR_OBJECT_TEXTURE2D_ARRAY:
11790+ case AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY:
1175011791 case AR_OBJECT_TEXTURE3D:
1175111792 case AR_OBJECT_TEXTURECUBE:
11793+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE:
1175211794 case AR_OBJECT_TEXTURECUBE_ARRAY:
11795+ case AR_OBJECT_VK_SAMPLED_TEXTURECUBE_ARRAY:
1175311796 case AR_OBJECT_TEXTURE2DMS:
11797+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS:
1175411798 case AR_OBJECT_TEXTURE2DMS_ARRAY:
11799+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY:
1175511800 expected = "'t' or 's'";
1175611801 isValid = registerType == 't' || registerType == 's';
1175711802 break;
0 commit comments