Skip to content

Commit ed52646

Browse files
committed
clumsy addition of packed types
1 parent e1aca97 commit ed52646

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

tools/clang/lib/Sema/SemaHLSL.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,12 +1018,13 @@ static const ArBasicKind g_UIntCT[] = {AR_BASIC_UINT32, AR_BASIC_LITERAL_INT,
10181018
// should map to int32, not int16 or int64
10191019
static const ArBasicKind g_AnyIntCT[] = {
10201020
AR_BASIC_INT32, AR_BASIC_INT16, AR_BASIC_UINT32, AR_BASIC_UINT16,
1021-
AR_BASIC_INT64, AR_BASIC_UINT64, AR_BASIC_LITERAL_INT, AR_BASIC_UNKNOWN};
1021+
AR_BASIC_INT64, AR_BASIC_UINT64, AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
1022+
AR_BASIC_LITERAL_INT, AR_BASIC_UNKNOWN};
10221023

10231024
static const ArBasicKind g_AnyInt32CT[] = {
1024-
AR_BASIC_INT32, AR_BASIC_UINT32, AR_BASIC_LITERAL_INT, AR_BASIC_UNKNOWN};
1025+
AR_BASIC_INT32, AR_BASIC_UINT32, AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED, AR_BASIC_LITERAL_INT, AR_BASIC_UNKNOWN};
10251026

1026-
static const ArBasicKind g_UIntOnlyCT[] = {AR_BASIC_UINT32, AR_BASIC_UINT64,
1027+
static const ArBasicKind g_UIntOnlyCT[] = {AR_BASIC_UINT32, AR_BASIC_UINT64,AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
10271028
AR_BASIC_LITERAL_INT,
10281029
AR_BASIC_NOCAST, AR_BASIC_UNKNOWN};
10291030

@@ -1063,18 +1064,20 @@ static const ArBasicKind g_NumericCT[] = {
10631064
AR_BASIC_UINT16, AR_BASIC_UINT32,
10641065
AR_BASIC_MIN12INT, AR_BASIC_MIN16INT,
10651066
AR_BASIC_MIN16UINT, AR_BASIC_INT64,
1066-
AR_BASIC_UINT64, AR_BASIC_UNKNOWN};
1067+
AR_BASIC_UINT64, AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED, AR_BASIC_UNKNOWN};
10671068

10681069
static const ArBasicKind g_Numeric32CT[] = {
10691070
AR_BASIC_FLOAT32, AR_BASIC_FLOAT32_PARTIAL_PRECISION,
10701071
AR_BASIC_LITERAL_FLOAT, AR_BASIC_LITERAL_INT,
10711072
AR_BASIC_INT32, AR_BASIC_UINT32,
1073+
AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
10721074
AR_BASIC_UNKNOWN};
10731075

10741076
static const ArBasicKind g_Numeric32OnlyCT[] = {
10751077
AR_BASIC_FLOAT32, AR_BASIC_FLOAT32_PARTIAL_PRECISION,
10761078
AR_BASIC_LITERAL_FLOAT, AR_BASIC_LITERAL_INT,
10771079
AR_BASIC_INT32, AR_BASIC_UINT32,
1080+
AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
10781081
AR_BASIC_NOCAST, AR_BASIC_UNKNOWN};
10791082

10801083
static const ArBasicKind g_AnyCT[] = {
@@ -1087,6 +1090,7 @@ static const ArBasicKind g_AnyCT[] = {
10871090
AR_BASIC_MIN12INT, AR_BASIC_MIN16INT,
10881091
AR_BASIC_MIN16UINT, AR_BASIC_BOOL,
10891092
AR_BASIC_INT64, AR_BASIC_UINT64,
1093+
AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
10901094
AR_BASIC_UNKNOWN};
10911095

10921096
static const ArBasicKind g_AnySamplerCT[] = {
@@ -1150,6 +1154,7 @@ static const ArBasicKind g_Numeric16OnlyCT[] = {
11501154
AR_BASIC_UNKNOWN};
11511155

11521156
static const ArBasicKind g_Int32OnlyCT[] = {AR_BASIC_INT32, AR_BASIC_UINT32,
1157+
AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
11531158
AR_BASIC_LITERAL_INT,
11541159
AR_BASIC_NOCAST, AR_BASIC_UNKNOWN};
11551160

@@ -1174,10 +1179,13 @@ static const ArBasicKind g_UInt8_4PackedCT[] = {
11741179

11751180
static const ArBasicKind g_AnyInt16Or32CT[] = {
11761181
AR_BASIC_INT32, AR_BASIC_UINT32, AR_BASIC_INT16,
1177-
AR_BASIC_UINT16, AR_BASIC_LITERAL_INT, AR_BASIC_UNKNOWN};
1182+
AR_BASIC_UINT16,
1183+
AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED, AR_BASIC_LITERAL_INT, AR_BASIC_UNKNOWN};
11781184

11791185
static const ArBasicKind g_SInt16Or32OnlyCT[] = {
1180-
AR_BASIC_INT32, AR_BASIC_INT16, AR_BASIC_LITERAL_INT, AR_BASIC_NOCAST,
1186+
AR_BASIC_INT32, AR_BASIC_INT16, AR_BASIC_LITERAL_INT,
1187+
AR_BASIC_INT8_4PACKED, AR_BASIC_UINT8_4PACKED,
1188+
AR_BASIC_NOCAST,
11811189
AR_BASIC_UNKNOWN};
11821190

11831191
static const ArBasicKind g_ByteAddressBufferCT[] = {

tools/clang/test/CodeGenDXIL/hlsl/intrinsics/buffer-load-stores-sm69.hlsl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// RUN: %dxc -DTYPE=float -DNUM=4 -T vs_6_9 %s | FileCheck %s
22
// RUN: %dxc -DTYPE=bool -DNUM=4 -T vs_6_9 %s | FileCheck %s --check-prefixes=CHECK,I1
3+
// RUN: %dxc -DTYPE=uint8_t4_packed -DNUM=4 -T vs_6_9 %s | FileCheck %s --check-prefixes=CHECK
34

45
// 64-bit types require operation/intrinsic support to convert the values to/from the i32 memory representations.
56
// RUN: %dxc -DTYPE=uint64_t -DNUM=2 -T vs_6_9 %s | FileCheck %s --check-prefixes=CHECK,I64

tools/clang/test/CodeGenDXIL/hlsl/types/longvec-operators.hlsl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
// Less exhaustive testing for some other types.
2121
// RUN: %dxc -HV 2018 -T lib_6_9 -DTYPE=int -DNUM=2 %s | FileCheck %s --check-prefixes=CHECK,NODBL
22+
// RUN: %dxc -HV 2018 -T lib_6_9 -DTYPE=uint8_t4_packed -DNUM=4 %s | FileCheck %s --check-prefixes=CHECK,NODBL
2223
// RUN: %dxc -HV 2018 -T lib_6_9 -DTYPE=uint -DNUM=5 %s | FileCheck %s --check-prefixes=CHECK,NODBL
2324
// RUN: %dxc -HV 2018 -T lib_6_9 -DTYPE=double -DNUM=3 -DDBL %s | FileCheck %s --check-prefixes=CHECK,DBL
2425
// RUN: %dxc -HV 2018 -T lib_6_9 -DTYPE=uint64_t -DNUM=9 %s | FileCheck %s --check-prefixes=CHECK,NODBL

0 commit comments

Comments
 (0)