Skip to content

Commit c83a182

Browse files
authored
Merge pull request hardkernel#28 from yan-wyb/khadas-vims-4.9.y
update npu drivers to 6.4.2.1
2 parents f36f10e + 24d769a commit c83a182

138 files changed

Lines changed: 35054 additions & 8757 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

drivers/amlogic/npu/Kbuild

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ OBJS += $(ARCH_KERNEL_DIR)/gc_hal_kernel_context.o \
134134
$(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware.o \
135135
$(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware_async_fe.o \
136136
$(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware_mc_fe.o \
137-
$(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware_waitlink_fe.o
137+
$(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware_waitlink_fe.o \
138+
$(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware_func.o
138139

139140
ifeq ($(VIVANTE_ENABLE_3D),1)
140141
OBJS += $(ARCH_KERNEL_DIR)/gc_hal_kernel_recorder.o

drivers/amlogic/npu/inc/drvi/gc_vsc_drvi_interface.h

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/****************************************************************************
22
*
3-
* Copyright (c) 2005 - 2019 by Vivante Corp. All rights reserved.
3+
* Copyright (c) 2005 - 2020 by Vivante Corp. All rights reserved.
44
*
55
* The material in this file is confidential and contains trade secrets
66
* of Vivante Corporation. This is proprietary information owned by
@@ -55,8 +55,11 @@
5555
/* 0.0.1.32 Add extension flag in VIR_Symbol 05/27/2019 */
5656
/* 0.0.1.33 Add a new opcode LOGICAL_RSHIFT 05/28/2019 */
5757
/* 0.0.1.34 Add WorkGroupSizeFactor in VIR_ComputeLayout on 07/18/2019 */
58-
#define gcdVIR_SHADER_BINARY_FILE_VERSION gcmCC(SHADER_64BITMODE, 0, 1, 34)
59-
#define gcdVIR_PROGRAM_BINARY_FILE_VERSION gcmCC(SHADER_64BITMODE, 0, 1, 34)
58+
/* 0.0.1.35 Add skhp flag in VIR_Instruction */
59+
/* 0.0.1.36 Add a function to patch clipDistance in GL VIR lib shader */
60+
/* 0.0.1.37 Add the sampled image information on 03/11/2020 */
61+
#define gcdVIR_SHADER_BINARY_FILE_VERSION gcmCC(SHADER_64BITMODE, 0, 1, 37)
62+
#define gcdVIR_PROGRAM_BINARY_FILE_VERSION gcmCC(SHADER_64BITMODE, 0, 1, 37)
6063

6164
#if !defined(gcdTARGETHOST_BIGENDIAN)
6265
#define gcdTARGETHOST_BIGENDIAN 0 /* default host little endian, to change the
@@ -491,8 +494,8 @@ typedef VSC_TyQualifier VIR_TyQualifier;
491494
* to achieve best performance */
492495
typedef enum {
493496
VSC_OCLImgLibKind_UseLoadStore = 0, /* for v54x GC chips, use LOAD/STORE/TEXLD */
494-
VSC_OCLImgLibKind_UseImgLoadTexldU = 1, /* for v55 GC chips, use IMG_LOAD/IMG_STORE/TEXLD_U */
495-
VSC_OCLImgLibKind_UseImgLoadTexldUXY = 2, /* for v60 GC and v620 GC chips */
497+
VSC_OCLImgLibKind_UseImgLoadTexldU = 1, /* for v55 GC chips, use IMG_LOAD/IMG_STORE/TEXLD_U -- unused now */
498+
VSC_OCLImgLibKind_UseImgLoadTexldUXY = 2, /* for v60 GC and v620 GC chips -- unused now*/
496499
VSC_OCLImgLibKind_UseImgLoadVIP = 3, /* v60 VIP chip, use IMG_LOAD/IMG_STORE */
497500
VSC_OCLImgLibKind_Counts, /* count of img libs */
498501
VSC_OCLImgLibKind_BasedOnHWFeature /* select library based on HW feature */
@@ -732,7 +735,10 @@ typedef struct _VSC_HW_CONFIG
732735
/* word 3 */
733736
gctUINT hasPointSizeFix : 1;
734737
gctUINT supportVectorB0 : 1;
735-
gctUINT reserved1 : 30;
738+
gctUINT hasAtomTimingFix : 1;
739+
gctUINT hasUSCAtomicFix2 : 1;
740+
gctUINT hasFloatingMadFix : 1;
741+
gctUINT reserved1 : 27;
736742

737743
/* Last word */
738744
/* Followings will be removed after shader programming is removed out of VSC */
@@ -750,16 +756,15 @@ typedef struct _VSC_HW_CONFIG
750756
gctUINT robustAtomic : 1;
751757
gctUINT newGPIPE : 1;
752758
gctUINT FEDrawDirect : 1;
753-
754-
gctUINT hasUSCAtomicFix2 : 1;
755-
gctUINT reserved2 : 18;
759+
gctUINT reserved2 : 19;
756760
} hwFeatureFlags;
757761

758762
gctUINT chipModel;
759763
gctUINT chipRevision;
760764
gctUINT productID;
761765
gctUINT customerID;
762766
gctUINT maxCoreCount;
767+
gctUINT maxClusterCount;
763768
gctUINT maxThreadCountPerCore;
764769
gctUINT maxVaryingCount;
765770
gctUINT maxAttributeCount;
@@ -841,8 +846,9 @@ typedef gcsGLSLCaps VSC_GL_API_CONFIG, *PVSC_GL_API_CONFIG;
841846
#define VSC_COMPILER_OPT_FULL_ACTIVE_IO 0x0000000000008000ULL
842847
#define VSC_COMPILER_OPT_DUAL16 0x0000000000010000ULL
843848
#define VSC_COMPILER_OPT_ILF_LINK 0x0000000000020000ULL
849+
#define VSC_COMPILER_OPT_LOOP 0x0000000000040000ULL
844850

845-
#define VSC_COMPILER_OPT_FULL 0x000000000003FFFFULL
851+
#define VSC_COMPILER_OPT_FULL 0x000000000007FFFFULL
846852

847853
#define VSC_COMPILER_OPT_NO_ALGE_SIMP 0x0000000100000000ULL
848854
#define VSC_COMPILER_OPT_NO_GCP 0x0000000200000000ULL
@@ -862,8 +868,9 @@ typedef gcsGLSLCaps VSC_GL_API_CONFIG, *PVSC_GL_API_CONFIG;
862868
#define VSC_COMPILER_OPT_NO_FULL_ACTIVE_IO 0x0000800000000000ULL
863869
#define VSC_COMPILER_OPT_NO_DUAL16 0x0001000000000000ULL
864870
#define VSC_COMPILER_OPT_NO_ILF_LINK 0x0002000000000000ULL
871+
#define VSC_COMPILER_OPT_NO_LOOP 0x0004000000000000ULL
865872

866-
#define VSC_COMPILER_OPT_NO_OPT 0x0003FFFF00000000ULL
873+
#define VSC_COMPILER_OPT_NO_OPT 0x0007FFFF00000000ULL
867874

868875
/* Compiler flag for special purpose */
869876
#define VSC_COMPILER_FLAG_COMPILE_TO_HL 0x00000001 /* Compile IR to HL, including doing all opts in HL */

drivers/amlogic/npu/inc/drvi/gc_vsc_drvi_kernel_profile.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/****************************************************************************
22
*
3-
* Copyright (c) 2005 - 2019 by Vivante Corp. All rights reserved.
3+
* Copyright (c) 2005 - 2020 by Vivante Corp. All rights reserved.
44
*
55
* The material in this file is confidential and contains trade secrets
66
* of Vivante Corporation. This is proprietary information owned by

drivers/amlogic/npu/inc/drvi/gc_vsc_drvi_lib_link.h

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/****************************************************************************
22
*
3-
* Copyright (c) 2005 - 2019 by Vivante Corp. All rights reserved.
3+
* Copyright (c) 2005 - 2020 by Vivante Corp. All rights reserved.
44
*
55
* The material in this file is confidential and contains trade secrets
66
* of Vivante Corporation. This is proprietary information owned by
@@ -25,6 +25,10 @@ typedef union _SPECIALIZATION_CONSTANT_VALUE
2525

2626
typedef struct _VSC_LIB_SPECIALIZATION_CONSTANT
2727
{
28+
/*
29+
** Some specialized variables for a function parameter, note that a name of the function parameter may be padding with "#dup%d",
30+
** so we need to use gcoOS_StrNCmp to compare with the function parameter.
31+
*/
2832
gctCONST_STRING varName;
2933
SPECIALIZATION_CONSTANT_VALUE value;
3034
VSC_SHADER_DATA_TYPE type;
@@ -114,12 +118,14 @@ typedef enum _VSC_RES_ACT_BIT
114118

115119
typedef enum _VSC_LINK_POINT_RESOURCE_SUBTYPE
116120
{
117-
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXLD_EXTRA_LATYER = 1,
118-
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXGRAD_EXTRA_LATYER = 2,
119-
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXFETCH_REPLACE_WITH_IMGLD = 3,
120-
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXGATHER_EXTRA_LAYTER = 4,
121-
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXGATHERPCF_D32F = 5,
122-
VSC_LINK_POINT_RESOURCE_SUBTYPE_NORMALIZE_TEXCOORD = 6,
121+
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXLD_EXTRA_LAYER = 1,
122+
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXLD_EXTRA_LAYER_SPECIFIED_OP = 2,
123+
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXGRAD_EXTRA_LAYER = 3,
124+
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXFETCH_REPLACE_WITH_IMGLD = 4,
125+
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXGATHER_EXTRA_LAYTER = 5,
126+
VSC_LINK_POINT_RESOURCE_SUBTYPE_TEXGATHERPCF_D32F = 6,
127+
VSC_LINK_POINT_RESOURCE_SUBTYPE_NORMALIZE_TEXCOORD = 7,
128+
VSC_LINK_POINT_RESOURCE_SUBTYPE_YCBCR_TEXTURE = 8,
123129
} VSC_LINK_POINT_RESOURCE_SUBTYPE;
124130

125131
typedef struct _VSC_LIB_LINK_POINT_FUNC_NAME
@@ -140,6 +146,7 @@ typedef struct _VSC_LIB_LINK_POINT_RESOURCE
140146
gctUINT arrayIndex;
141147
VSC_RES_OP_BIT opTypeBits;
142148
VSC_RES_ACT_BIT actBits;
149+
void* pPrivData;
143150
VSC_LINK_POINT_RESOURCE_SUBTYPE subType;
144151
} VSC_LIB_LINK_POINT_RESOURCE;
145152

@@ -165,12 +172,21 @@ typedef struct _VSC_LIB_LINK_IMAGE_READ_WRITE
165172
VSC_SAMPLER_INFO * samplerInfo;
166173
} VSC_LIB_LINK_IMAGE_READ_WRITE;
167174

175+
/* Same value with VIR_IMAGE_ACCESS_STRATEGY. */
176+
typedef enum _VSC_LIB_LINK_IMAGE_ACCESS_STRATEGY
177+
{
178+
VSC_LIB_LINK_IMAGE_ACCESS_STRATEGY_USE_FORMAT = 0,
179+
VSC_LIB_LINK_IMAGE_ACCESS_STRATEGY_LOAD_ZERO_STORE_NOP = 1,
180+
VSC_LIB_LINK_IMAGE_ACCESS_STRATEGY_LOAD_ZERO_STORE_ZERO = 2,
181+
} VSC_LIB_LINK_IMAGE_ACCESS_STRATEGY;
182+
168183
typedef struct _VSC_LIB_LINK_IMAGE_FORMAT
169184
{
170-
gctUINT set;
171-
gctUINT binding;
172-
gctUINT arrayIndex;
173-
VSC_IMAGE_FORMAT imageFormat;
185+
gctUINT set;
186+
gctUINT binding;
187+
gctUINT arrayIndex;
188+
VSC_IMAGE_FORMAT imageFormat;
189+
VSC_LIB_LINK_IMAGE_ACCESS_STRATEGY replaceStrategy;
174190
} VSC_LIB_LINK_IMAGE_FORMAT;
175191

176192
typedef struct _VSC_LIB_LINK_POINT
@@ -194,13 +210,15 @@ typedef struct _VSC_LIB_LINK_POINT
194210
} u;
195211
}VSC_LIB_LINK_POINT;
196212

213+
#define LIB_NUM 2
197214
typedef struct _VSC_SHADER_LIB_LINK_ENTRY
198215
{
199216
/* Which level this link entry should be applied. */
200217
VSC_SH_LEVEL applyLevel;
201218

202219
/* Lib shader */
203220
SHADER_HANDLE hShaderLib;
221+
SHADER_HANDLE hShaderLibs[LIB_NUM];
204222

205223
/* vreg map from libShader to the current shader */
206224
void* pTempHashTable;

drivers/amlogic/npu/inc/drvi/gc_vsc_drvi_program_profile.h

Lines changed: 46 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/****************************************************************************
22
*
3-
* Copyright (c) 2005 - 2019 by Vivante Corp. All rights reserved.
3+
* Copyright (c) 2005 - 2020 by Vivante Corp. All rights reserved.
44
*
55
* The material in this file is confidential and contains trade secrets
66
* of Vivante Corporation. This is proprietary information owned by
@@ -469,6 +469,30 @@ PROG_GL_XFB_OUT_TABLE;
469469
********************************** VK program mapping table definitions *********************************
470470
**********************************************************************************************************************/
471471

472+
typedef struct PROG_VK_IMAGE_FORMAT_INFO
473+
{
474+
VSC_IMAGE_FORMAT imageFormat;
475+
gctBOOL bSetInSpriv;
476+
}
477+
PROG_VK_IMAGE_FORMAT_INFO;
478+
479+
typedef struct PROG_VK_IMAGE_DERIVED_INFO
480+
{
481+
/* For a image, it might need a image-size attached. As each image in
482+
Binding::arraySize array has image-size, so this is the first entry
483+
of image-size array. */
484+
SHADER_PRIV_CONSTANT_ENTRY* pImageSize;
485+
486+
/* Extra layer HW mapping. As currently, for images in in tBinding::arraySize
487+
array, if one image has extra image, all other images must have extra image, so
488+
this is the first entry of extra-image */
489+
SHADER_PRIV_UAV_ENTRY* pExtraLayer;
490+
491+
/* ImageFormat, can be NONE. */
492+
PROG_VK_IMAGE_FORMAT_INFO imageFormatInfo;
493+
}
494+
PROG_VK_IMAGE_DERIVED_INFO;
495+
472496
typedef struct PROG_VK_SUB_RESOURCE_BINDING
473497
{
474498
/* Pointer to original API resource binding */
@@ -528,6 +552,7 @@ typedef struct PROG_VK_PRIV_COMB_TEX_SAMP_HW_MAPPING_LIST
528552
VSC_SHADER_RESOURCE_TYPE_COMBINED_IMAGE_SAMPLER
529553
*/
530554

555+
#define __YCBCR_PLANE_COUNT__ 3
531556
typedef struct PROG_VK_COMBINED_TEXTURE_SAMPLER_HW_MAPPING
532557
{
533558
/* For the case
@@ -541,6 +566,9 @@ typedef struct PROG_VK_COMBINED_TEXTURE_SAMPLER_HW_MAPPING
541566
combTsBinding::arraySize */
542567
SHADER_PRIV_SAMPLER_ENTRY** ppExtraSamplerArray;
543568

569+
/* For the ycbcr texture recompilation. */
570+
SHADER_PRIV_UAV_ENTRY* pYcbcrPlanes[__YCBCR_PLANE_COUNT__];
571+
544572
/* For the case that HW natively supports separated texture, so texture part of API
545573
combined texture sampler will be directly mapped to HW separated texture */
546574
SHADER_RESOURCE_SLOT_MAPPING texMapping;
@@ -663,15 +691,7 @@ typedef union PROG_VK_SEPARATED_TEXTURE_HW_MAPPING
663691
/* For HW does not natively supports separated texture */
664692
struct
665693
{
666-
/* For a separated image, it might need a image-size attached. As each image in
667-
storageBinding::arraySize array has image-size, so this is the first entry
668-
of image-size array. */
669-
SHADER_PRIV_CONSTANT_ENTRY* pImageSize;
670-
671-
/* Extra layer HW mapping. As currently, for images in in texBinding::arraySize
672-
array, if one image has extra image, all other images must have extra image, so
673-
this is the first entry of extra-image */
674-
SHADER_PRIV_UAV_ENTRY* pExtraLayer;
694+
PROG_VK_IMAGE_DERIVED_INFO imageDerivedInfo;
675695

676696
/* We still need to allocate a constant image for this separated texture for the imageFetch operation.*/
677697
SHADER_UAV_SLOT_MAPPING hwMapping;
@@ -749,6 +769,13 @@ typedef struct PROG_VK_UNIFORM_TEXEL_BUFFER_HW_MAPPING
749769
}
750770
PROG_VK_UNIFORM_TEXEL_BUFFER_HW_MAPPING;
751771

772+
typedef enum PROG_VK_UNIFORM_TEXEL_BUFFER_ENTRY_FLAG
773+
{
774+
PROG_VK_UTB_ENTRY_FLAG_NONE = 0x0000,
775+
/* Treat a texelBuffer as an image, now from a recompilation only. */
776+
PROG_VK_UTB_ENTRY_FLAG_TREAT_TEXELBUFFER_AS_IMAGE = 0x0002,
777+
} PROG_VK_UNIFORM_TEXEL_BUFFER_ENTRY_FLAG;
778+
752779
typedef struct PROG_VK_UNIFORM_TEXEL_BUFFER_TABLE_ENTRY
753780
{
754781
/* API resource binding */
@@ -763,14 +790,16 @@ typedef struct PROG_VK_UNIFORM_TEXEL_BUFFER_TABLE_ENTRY
763790
/* Is this entry really used by shader */
764791
gctUINT activeStageMask;
765792

793+
PROG_VK_UNIFORM_TEXEL_BUFFER_ENTRY_FLAG utbEntryFlag;
794+
766795
/*----------------------------------Sampler-related----------------------------------*/
767796
/* For texel buffer, it might need a texture-size attached. As each texel buffer in
768797
utbBinding::arraySize array has texture-size, so this is the first entry
769798
of texture-size array. */
770799
SHADER_PRIV_CONSTANT_ENTRY* pTextureSize[VSC_MAX_SHADER_STAGE_COUNT][2];
771800

772801
/*----------------------------------Image-related----------------------------------*/
773-
VSC_IMAGE_FORMAT imageFormat;
802+
PROG_VK_IMAGE_DERIVED_INFO imageDerivedInfo[VSC_MAX_SHADER_STAGE_COUNT];
774803

775804
/* Which kinds of inst operation acting on texture. The count of this
776805
resOpBit is same as utbBinding::arraySize */
@@ -826,15 +855,7 @@ typedef struct PROG_VK_INPUT_ATTACHMENT_TABLE_ENTRY
826855
** it is treated as a sampler, otherwise it is treated as an image.
827856
*/
828857
/*----------------------------------Image-related----------------------------------*/
829-
/* For image storage, it might need a image-size attached. As each image in
830-
iaBinding::arraySize array has image-size, so this is the first entry
831-
of image-size array. */
832-
SHADER_PRIV_CONSTANT_ENTRY* pImageSize[VSC_MAX_SHADER_STAGE_COUNT];
833-
834-
/* Extra layer HW mapping. As currently, for images in in iaBinding::arraySize
835-
array, if one image has extra image, all other images must have extra image, so
836-
this is the first entry of extra-image */
837-
SHADER_PRIV_UAV_ENTRY* pExtraLayer[VSC_MAX_SHADER_STAGE_COUNT];
858+
PROG_VK_IMAGE_DERIVED_INFO imageDerivedInfo[VSC_MAX_SHADER_STAGE_COUNT];
838859

839860
/*----------------------------------Sampler-related----------------------------------*/
840861
/* For texel buffer, it might need a texture-size attached. As each texel buffer in
@@ -888,15 +909,12 @@ typedef struct PROG_VK_STORAGE_TABLE_ENTRY
888909
/* Is this entry really used by shader */
889910
gctUINT activeStageMask;
890911

891-
/* For image storage, it might need a image-size attached. As each image in
892-
storageBinding::arraySize array has image-size, so this is the first entry
893-
of image-size array. */
894-
SHADER_PRIV_CONSTANT_ENTRY* pImageSize[VSC_MAX_SHADER_STAGE_COUNT];
912+
/*----------------------------------Image-related----------------------------------*/
913+
PROG_VK_IMAGE_DERIVED_INFO imageDerivedInfo[VSC_MAX_SHADER_STAGE_COUNT];
895914

896-
/* Extra layer HW mapping. As currently, for images in in storageBinding::arraySize
897-
array, if one image has extra image, all other images must have extra image, so
898-
this is the first entry of extra-image */
899-
SHADER_PRIV_UAV_ENTRY* pExtraLayer[VSC_MAX_SHADER_STAGE_COUNT];
915+
/* Which kinds of inst operation acting on texture. The count of this
916+
resOpBit is same as storageBinding::arraySize */
917+
VSC_RES_OP_BIT* pResOpBits;
900918

901919
/* Different shader stage may have different HW mappings. */
902920
SHADER_UAV_SLOT_MAPPING hwMappings[VSC_MAX_SHADER_STAGE_COUNT];

drivers/amlogic/npu/inc/drvi/gc_vsc_drvi_shader_priv_mapping.h

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/****************************************************************************
22
*
3-
* Copyright (c) 2005 - 2019 by Vivante Corp. All rights reserved.
3+
* Copyright (c) 2005 - 2020 by Vivante Corp. All rights reserved.
44
*
55
* The material in this file is confidential and contains trade secrets
66
* of Vivante Corporation. This is proprietary information owned by
@@ -61,13 +61,16 @@ typedef enum SHS_PRIV_CONSTANT_KIND
6161
/* Shader mem static priv-mapping kind */
6262
typedef enum SHS_PRIV_MEM_KIND
6363
{
64-
SHS_PRIV_MEM_KIND_GPR_SPILLED_MEMORY = 0, /* For gpr register spillage */
65-
SHS_PRIV_MEM_KIND_CONSTANT_SPILLED_MEMORY = 1, /* For constant register spillage */
66-
SHS_PRIV_MEM_KIND_STREAMOUT_BY_STORE = 2, /* Stream buffer for SO */
67-
SHS_PRIV_MEM_KIND_CL_PRIVATE_MEMORY = 3, /* For CL private mem */
68-
SHS_PRIV_MEM_KIND_SHARED_MEMORY = 4, /* For CL local memory or DirectCompute shared mem */
69-
SHS_PRIV_MEM_KIND_EXTRA_UAV_LAYER = 5,
70-
SHS_PRIV_MEM_KIND_COUNT = 6,
64+
SHS_PRIV_MEM_KIND_NONE = 0,
65+
SHS_PRIV_MEM_KIND_GPR_SPILLED_MEMORY = 1, /* For gpr register spillage */
66+
SHS_PRIV_MEM_KIND_CONSTANT_SPILLED_MEMORY = 2, /* For constant register spillage */
67+
SHS_PRIV_MEM_KIND_STREAMOUT_BY_STORE = 3, /* Stream buffer for SO */
68+
SHS_PRIV_MEM_KIND_CL_PRIVATE_MEMORY = 4, /* For CL private mem */
69+
SHS_PRIV_MEM_KIND_SHARED_MEMORY = 5, /* For CL local memory or DirectCompute shared mem */
70+
SHS_PRIV_MEM_KIND_EXTRA_UAV_LAYER = 6,
71+
SHS_PRIV_MEM_KIND_THREAD_ID_MEM_ADDR = 7, /* The global memory to save the consecutive thread ID. */
72+
SHS_PRIV_MEM_KIND_YCBCR_PLANE = 8, /* The YCBCR plane. */
73+
SHS_PRIV_MEM_KIND_COUNT = 9,
7174
}SHS_PRIV_MEM_KIND;
7275

7376
/* !!!!!NOTE: For dynamic (lib-link) patch, the priv-mapping flag will directly use VSC_LIB_LINK_TYPE!!!!! */
@@ -154,6 +157,8 @@ typedef struct SHADER_PRIV_MEM_DATA_MAPPING
154157

155158
typedef struct SHADER_PRIV_UAV_ENTRY
156159
{
160+
gctUINT uavEntryIndex;
161+
157162
SHADER_PRIV_MAPPING_COMMON_ENTRY commonPrivm;
158163

159164
/* The data which will be set to this memory */

0 commit comments

Comments
 (0)