MGS-4653 upgrade 6.2.4.p4 gpu driver for L4.19
authorXianzhong <xianzhong.li@nxp.com>
Fri, 29 Mar 2019 07:28:13 +0000 (15:28 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
source branch: gpu-viv6/fsl_6.2.4.p4
commit: 5d4888f3d031ced5923839345f82973cb3e74663

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
45 files changed:
drivers/mxc/gpu-viv/Kbuild
drivers/mxc/gpu-viv/config
drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_context.c
drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c
drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.h
drivers/mxc/gpu-viv/hal/kernel/archvg/gc_hal_kernel_hardware_command_vg.c
drivers/mxc/gpu-viv/hal/kernel/archvg/gc_hal_kernel_hardware_vg.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel.h
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_debug.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_mmu.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c
drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_driver.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_drm.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_version.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dma.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dmabuf.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_gfp.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_reserved_mem.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_user_memory.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debug.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_device.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_drm.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_platform.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_sync.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.config
drivers/mxc/gpu-viv/hal/security_v1/gc_hal_ta_hardware.c
drivers/mxc/gpu-viv/hal/security_v1/os/emulator/gc_hal_ta_emulator.c

index 653461c..5f45b13 100644 (file)
@@ -143,10 +143,12 @@ endif
 
 ifneq ($(CONFIG_SYNC),)
 EXTRA_CFLAGS += -Idrivers/staging/android
+EXTRA_CFLAGS += -DgcdLINUX_SYNC_FILE=1
 
 OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_sync.o
 else
   ifneq ($(CONFIG_SYNC_FILE),)
+  EXTRA_CFLAGS += -DgcdLINUX_SYNC_FILE=1
   OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_sync.o
   endif
 endif
@@ -239,18 +241,6 @@ else
 EXTRA_CFLAGS += -DgcdPAGED_MEMORY_CACHEABLE=0
 endif
 
-ifeq ($(NONPAGED_MEMORY_CACHEABLE), 1)
-EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_CACHEABLE=1
-else
-EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_CACHEABLE=0
-endif
-
-ifeq ($(NONPAGED_MEMORY_BUFFERABLE), 1)
-EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_BUFFERABLE=1
-else
-EXTRA_CFLAGS += -DgcdNONPAGED_MEMORY_BUFFERABLE=0
-endif
-
 ifeq ($(CACHE_FUNCTION_UNIMPLEMENTED), 1)
 EXTRA_CFLAGS += -DgcdCACHE_FUNCTION_UNIMPLEMENTED=1
 else
index 9873ae2..1fb80a7 100644 (file)
@@ -63,8 +63,6 @@ NO_DMA_COHERENT                   ?= 0
 USE_PLATFORM_DRIVER               ?= 1
 ENABLE_GPU_CLOCK_BY_DRIVER        ?= 0
 FORCE_ALL_VIDEO_MEMORY_CACHED     ?= 0
-NONPAGED_MEMORY_CACHEABLE         ?= 0
-NONPAGED_MEMORY_BUFFERABLE        ?= 1
 CACHE_FUNCTION_UNIMPLEMENTED      ?= 0
 USE_BANK_ALIGNMENT                ?= 1
 BANK_BIT_START                    ?= 13
index 618d1d4..9516342 100644 (file)
@@ -302,93 +302,179 @@ _FlushPipe(
                 /* Semaphore from FE to BLT. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to BLT. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
             }
             else
@@ -396,47 +482,91 @@ _FlushPipe(
                 /* Semaphore from FE to PE. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to PE. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
             }
         }
@@ -444,72 +574,143 @@ _FlushPipe(
         /* Flush the current pipe. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = (Pipe == gcvPIPE_2D)
-                ?   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
+                ?
+   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
                 :   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 10:10) - (0 ? 10:10) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 10:10) - (0 ?
- 10:10) + 1))))))) << (0 ? 10:10))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 10:10) - (0 ? 10:10) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 10:10) - (0 ?
- 10:10) + 1))))))) << (0 ? 10:10)))
+ 10:10) - (0 ?
+ 10:10) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 10:10) - (0 ?
+ 10:10) + 1))))))) << (0 ?
+ 10:10))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 10:10) - (0 ?
+ 10:10) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 10:10) - (0 ? 10:10) + 1))))))) << (0 ? 10:10)))
                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11)));
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ?
+ 11:11))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)));
 
         if (hwTFB)
         {
              *buffer++
                  = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x7003) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x7003) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
              *buffer++
                  = 0x12345678;
@@ -520,24 +721,45 @@ _FlushPipe(
         {
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
         }
 
@@ -547,140 +769,270 @@ _FlushPipe(
             /* Semaphore from FE to BLT. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             /* Stall from FE to BLT. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
         else
         {
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             /* Stall from FE to PE. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
 
@@ -690,96 +1042,180 @@ _FlushPipe(
             {
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502B) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
             }
             else
             {
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
             }
 
@@ -789,140 +1225,270 @@ _FlushPipe(
                 /* Semaphore from FE to BLT. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to BLT. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
             }
             else
             {
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to PE. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
             }
         }
@@ -932,105 +1498,199 @@ _FlushPipe(
             /* Invalidate I$ after pipe is stalled */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0218) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0218) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4)));
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0218) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0218) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5)));
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
 
             /* Semaphore from FE to PE. */
             if (blt)
@@ -1038,140 +1698,270 @@ _FlushPipe(
                 /* Semaphore from FE to BLT. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to BLT. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
             }
             else
             {
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to PE. */
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
             }
         }
@@ -1180,29 +1970,64 @@ _FlushPipe(
         {
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x13 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x13 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x04 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x04 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
 
             *buffer++
@@ -1235,93 +2060,179 @@ _SemaphoreStall(
             /* Semaphore from FE to BLT. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             /* Stall from FE to BLT. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
         else
@@ -1329,47 +2240,91 @@ _SemaphoreStall(
             /* Semaphore from FE to PE. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             /* Stall from FE to PE. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
             *buffer
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
     }
@@ -1399,20 +2354,35 @@ _SwitchPipe(
         /* LoadState(AQPipeSelect, 1), pipe. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *buffer
             = (Pipe == gcvPIPE_2D)
@@ -1480,49 +2450,89 @@ _State(
             {
                 buffer[Index]
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26)))
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1))))))) << (0 ?
+ 26:26))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Size) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (Size) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
             }
             else
             {
                 buffer[Index]
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26)))
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1))))))) << (0 ?
+ 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Size) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (Size) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
             }
 
             /* Walk all the states. */
@@ -1560,10 +2570,15 @@ _State(
         /* Update last load state. */
         buffer[Context->lastIndex] =
             ((((gctUINT32) (buffer[Context->lastIndex])) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Context->lastSize + Size) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (Context->lastSize + Size) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         /* Walk all the states. */
         for (i = 0; i < (gctUINT32)Size; i += 1)
@@ -1790,14 +2805,28 @@ if (halti5){    vsConstBase  = 0xD000;
         index += _State(Context, index, 0x03888 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
         index += _State(Context, index, 0x038C0 >> 2, 0x00000000, 16, gcvFALSE, gcvFALSE);
         index += _State(Context, index, 0x03884 >> 2, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:0) - (0 ? 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
+ 2:0) - (0 ?
+ 2:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1))))))) << (0 ?
  2:0))) | (((gctUINT32) ((gctUINT32) (hardware->options.uscL1CacheRatio) & ((gctUINT32) ((((1 ?
- 2:0) - (0 ? 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
- 2:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:16) - (0 ?
- 20:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ?
- 20:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 20:16) - (0 ?
- 20:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ?
- 20:16))), 1, gcvFALSE, gcvFALSE);
+ 2:0) - (0 ?
+ 2:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1))))))) << (0 ?
+ 2:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 20:16) - (0 ?
+ 20:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:16) - (0 ?
+ 20:16) + 1))))))) << (0 ?
+ 20:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 20:16) - (0 ?
+ 20:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:16) - (0 ? 20:16) + 1))))))) << (0 ? 20:16))), 1, gcvFALSE, gcvFALSE);
     }
     else
     {
@@ -1916,10 +2945,16 @@ if (halti5){    vsConstBase  = 0xD000;
     /* Vertex Shader states. */
     index += _State(Context, index, 0x00804 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
     index += _State(Context, index, 0x00808 >> 2, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:0) - (0 ? 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))), 1, gcvFALSE, gcvFALSE);
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1))))))) << (0 ?
+ 5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:0) - (0 ? 5:0) + 1))))))) << (0 ? 5:0))), 1, gcvFALSE, gcvFALSE);
     index += _State(Context, index, 0x0080C >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
     index += _State(Context, index, 0x00830 >> 2, 0x00000000, 1, gcvFALSE, gcvFALSE);
 
@@ -2196,10 +3231,15 @@ if (halti5){    vsConstBase  = 0xD000;
                we start using the floating point filter.
             */
             gcregTXLogSizeResetValue = ((((gctUINT32) (0x00000000)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:29) - (0 ? 29:29) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:29) - (0 ?
- 29:29) + 1))))))) << (0 ? 29:29))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 29:29) - (0 ? 29:29) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:29) - (0 ?
- 29:29) + 1))))))) << (0 ? 29:29)));
+ 29:29) - (0 ?
+ 29:29) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 29:29) - (0 ?
+ 29:29) + 1))))))) << (0 ?
+ 29:29))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 29:29) - (0 ?
+ 29:29) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 29:29) - (0 ? 29:29) + 1))))))) << (0 ? 29:29)));
 
             /* New texture block. */
             index += _State(Context, index, 0x10000 >> 2, 0x00000000, 32, gcvFALSE, gcvFALSE);
@@ -2525,7 +3565,7 @@ if (halti5){    vsConstBase  = 0xD000;
 
     if (halti5)
     {
-        index += _State(Context, index, 0x14920 >> 2, 0x03012000, 7, gcvFALSE, gcvFALSE);
+        index += _State(Context, index, 0x14920 >> 2, 0x00000000, 7, gcvFALSE, gcvFALSE);
         index += _State(Context, index, 0x14940 >> 2, 0x00000000, 7, gcvFALSE, gcvFALSE);
         index += _State(Context, index, 0x14960 >> 2, 0x00000000, 7, gcvFALSE, gcvFALSE);
         index += _State(Context, index, 0x14980 >> 2, 0x00000000, 7, gcvFALSE, gcvFALSE);
@@ -2587,10 +3627,16 @@ if (halti5){    vsConstBase  = 0xD000;
     if (hasSecurity || hasRobustness)
     {
         index += _State(Context, index, 0x001AC >> 2, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))), 1, gcvFALSE, gcvFALSE);
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))), 1, gcvFALSE, gcvFALSE);
     }
 
     /* Semaphore/stall. */
@@ -2606,15 +3652,25 @@ if (halti5){    vsConstBase  = 0xD000;
     {
         buffer[index + 0]
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         buffer[index + 1]
             = 0;
@@ -2642,15 +3698,25 @@ if (halti5){    vsConstBase  = 0xD000;
     {
         buffer[index + 0]
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         buffer[index + 1]
             = 0;
@@ -2797,9 +3863,17 @@ _AllocateContextBuffer(
     }
     else
     {
-        gcmkONERROR(gckOS_AllocateContiguous(
+        gctUINT32 allocFlag;
+
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+        allocFlag = gcvALLOC_FLAG_CACHEABLE | gcvALLOC_FLAG_CONTIGUOUS;
+#else
+        allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
+#endif
+        gcmkONERROR(gckOS_AllocateNonPagedMemory(
             Context->os,
             gcvFALSE,
+            allocFlag,
             &totalSize,
             &Buffer->physical,
             &pointer
@@ -3328,18 +4402,35 @@ gckCONTEXT_Update(
                     {
                         /* Force auto-disable to be disabled. */
                         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
                         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
                         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 13:13) - (0 ? 13:13) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:13) - (0 ?
- 13:13) + 1))))))) << (0 ? 13:13))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 13:13) - (0 ? 13:13) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:13) - (0 ?
- 13:13) + 1))))))) << (0 ? 13:13)));
+ 13:13) - (0 ?
+ 13:13) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 13:13) - (0 ?
+ 13:13) + 1))))))) << (0 ?
+ 13:13))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 13:13) - (0 ?
+ 13:13) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 13:13) - (0 ? 13:13) + 1))))))) << (0 ? 13:13)));
                     }
 
 #if gcdSECURE_USER
@@ -3434,48 +4525,88 @@ gckCONTEXT_Update(
 
                 buffer->logical[base - 1]
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26)))
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1))))))) << (0 ?
+ 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
                          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (feAttributeStatgeAddr) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 /* Set the proper state count. */
                 buffer->logical[base + 1] =
                         ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26)))
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1))))))) << (0 ?
+ 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x01F2) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x01F2) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
                 buffer->logical[base + 2] = 0x1;
                 attribCount = 3;
             }
@@ -3483,25 +4614,45 @@ gckCONTEXT_Update(
             {
                 buffer->logical[base - 1]
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 26:26) - (0 ? 26:26) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:26) - (0 ?
- 26:26) + 1))))))) << (0 ? 26:26)))
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1))))))) << (0 ?
+ 26:26))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 26:26) - (0 ?
+ 26:26) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 26:26) - (0 ? 26:26) + 1))))))) << (0 ? 26:26)))
                          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (attribCount) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (attribCount) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (feAttributeStatgeAddr) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
             }
 
             /* Determine the number of NOP commands. */
@@ -3519,10 +4670,15 @@ gckCONTEXT_Update(
 
                 /* Generate a NOP command. */
                 *nop = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 /* Advance. */
                 nop += 2;
index a39c689..7778da4 100644 (file)
@@ -184,10 +184,15 @@ _IdentifyHardwareByDatabase(
                              &chipIdentity));
 
     /* Special case for older graphic cores. */
-    if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
+    if (((((gctUINT32) (chipIdentity)) >> (0 ?
+ 31:24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
     {
         Identity->chipModel    = gcv500;
         Identity->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
@@ -327,14 +332,21 @@ _IdentifyHardwareByDatabase(
 
     gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x000A4, &chipInfo));
 
-    if (((((gctUINT32) (chipInfo)) >> (0 ? 21:21) & ((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
- 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1))))))))
+    if (((((gctUINT32) (chipInfo)) >> (0 ?
+ 21:21) & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1))))))))
     {
         Identity->chipFlags |= gcvCHIP_AXI_BUS128_BITS;
     }
 
+    gckOS_QueryOption(Os, "platformFlagBits", &Identity->platformFlagBits);
+
     /* Success. */
     gcmkFOOTER();
     return gcvSTATUS_OK;
@@ -370,10 +382,15 @@ _GetHardwareSignature(
                              &chipIdentity));
 
     /* Special case for older graphic cores. */
-    if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
+    if (((((gctUINT32) (chipIdentity)) >> (0 ?
+ 31:24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
     {
         Signature->chipModel    = gcv500;
         Signature->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
@@ -421,10 +438,15 @@ _GetHardwareSignature(
                                  0x00034,
                                  &Signature->chipMinorFeatures));
 
-        if (((((gctUINT32) (Signature->chipMinorFeatures)) >> (0 ? 21:21) & ((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
- 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1)))))))
+        if (((((gctUINT32) (Signature->chipMinorFeatures)) >> (0 ?
+ 21:21) & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1)))))))
         )
         {
             /* Read chip minor features register #1. */
@@ -497,114 +519,184 @@ _ConfigureModuleLevelClockGating(
 
 #if gcdDISABLE_FE_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 #endif
 
 #if gcdDISABLE_PE_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2)));
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
 #endif
 
 #if gcdDISABLE_SH_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3)));
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
 #endif
 
 #if gcdDISABLE_PA_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4)));
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
 #endif
 
 #if gcdDISABLE_SE_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5)));
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
 #endif
 
 #if gcdDISABLE_RA_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ?
- 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6)));
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
 #endif
 
 #if gcdDISABLE_TX_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7)));
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
 #endif
 
 #if gcdDISABLE_RA_EZ_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)));
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
 #endif
 
 #if gcdDISABLE_RA_HZ_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17)));
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ?
+ 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17)));
 #endif
 
 #if gcdDISABLE_TFB_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
 #endif
 
 #if gcdDISABLE_GPIPE_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22)));
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ?
+ 22:22))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22)));
 #endif
 
 #if gcdDISABLE_BLT_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20)));
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ?
+ 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
 #endif
 
 #if gcdDISABLE_TPG_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
- 18:18) + 1))))))) << (0 ? 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
- 18:18) + 1))))))) << (0 ? 18:18)));
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ?
+ 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ? 18:18)));
 #endif
 
 #if gcdDISABLE_VX_CLOCK_GATING
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
- 21:21) + 1))))))) << (0 ? 21:21))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
- 21:21) + 1))))))) << (0 ? 21:21)));
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1))))))) << (0 ?
+ 21:21))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1))))))) << (0 ? 21:21)));
 #endif
 
     gcmkVERIFY_OK(
@@ -623,10 +715,15 @@ _ConfigureModuleLevelClockGating(
                              &data));
 
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2)));
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
 
     gcmkVERIFY_OK(
         gckOS_WriteRegisterEx(Hardware->os,
@@ -646,10 +743,15 @@ _ConfigureModuleLevelClockGating(
                              &data));
 
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
 
     gcmkVERIFY_OK(
@@ -751,7 +853,7 @@ _DumpDebugRegisters(
         control |= (pipe << 20);
         gcmkONERROR(gckOS_WriteRegisterEx(Os, Core, 0x0, control));
 
-        gcmkASSERT(Descriptor->count % REG_PER_LINE);
+        gcmkASSERT(!(Descriptor->count % REG_PER_LINE));
 
         for (i = 0; i < Descriptor->count; i += REG_PER_LINE)
         {
@@ -927,15 +1029,25 @@ _IsGPUPresent(
                                      &control));
 
     control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1)));
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
     control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
                                       Hardware->core,
@@ -1443,15 +1555,26 @@ _ConfigurePolicyID(
             os,
             core,
             0x000EC,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8))) | (((gctUINT32) ((gctUINT32) (auxBit) & ((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1))))))) << (0 ?
+ 8:8))) | (((gctUINT32) ((gctUINT32) (auxBit) & ((gctUINT32) ((((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
             ));
     }
 }
@@ -1506,7 +1629,16 @@ _SetHardwareOptions(
                 gcmkASSERT(!gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_GEOMETRY_SHADER));
                 attribBufSizeInKB = 8;
             }
-            L1cacheSize = database->USC_MAX_PAGES - attribBufSizeInKB;
+
+            if (attribBufSizeInKB < database->USC_MAX_PAGES)
+            {
+                L1cacheSize = database->USC_MAX_PAGES - attribBufSizeInKB;
+            }
+            else
+            {
+                attribBufSizeInKB -= 4;
+                L1cacheSize = 4;
+            }
         }
         gcmkASSERT(L1cacheSize);
         if (L1cacheSize >= database->L1CacheSize)
@@ -1753,10 +1885,15 @@ gckHARDWARE_Construct(
 
 #if gcdDEC_ENABLE_AHB
     gcmkONERROR(gckOS_WriteRegisterEx(Os, gcvCORE_DEC, 0x18180, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22)))));
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ?
+ 22:22))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22)))));
 #endif
 
     hardware->hasL2Cache = gckHARDWARE_IsFeatureAvailable(hardware, gcvFEATURE_64K_L2_CACHE);
@@ -2102,10 +2239,15 @@ gckHARDWARE_InitializeHardware(
                                       Hardware->core,
                                       0x00000,
                                       ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)))));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)))));
 
     gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
                                      Hardware->core,
@@ -2117,10 +2259,15 @@ gckHARDWARE_InitializeHardware(
                                       Hardware->core,
                                       0x00000,
                                       ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11)))));
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ?
+ 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)))));
 
     if (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_SECURITY_AHB) &&
         (Hardware->options.secureMode == gcvSECURE_IN_NORMAL))
@@ -2135,8 +2282,14 @@ gckHARDWARE_InitializeHardware(
                                           Hardware->core,
                                           0x003A8,
                                           ((((gctUINT32) (ahbControl)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))));
     }
 
@@ -2188,10 +2341,15 @@ gckHARDWARE_InitializeHardware(
 
     /* Enable clock gating. */
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
     if ((Hardware->identity.chipRevision == 0x4301)
     ||  (Hardware->identity.chipRevision == 0x4302)
@@ -2200,10 +2358,15 @@ gckHARDWARE_InitializeHardware(
         /* Disable stall module level clock gating for 4.3.0.1 and 4.3.0.2
         ** revisions. */
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1)));
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
     }
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
@@ -2232,10 +2395,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable PE clock gating. */
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2)));
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
     }
 #endif
 
@@ -2247,10 +2415,15 @@ gckHARDWARE_InitializeHardware(
                                   Hardware->core,
                                   0x0010C,
                                   ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
- 23:23) + 1))))))) << (0 ? 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
- 23:23) + 1))))))) << (0 ? 23:23)))));
+ 23:23) - (0 ?
+ 23:23) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:23) - (0 ?
+ 23:23) + 1))))))) << (0 ?
+ 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:23) - (0 ?
+ 23:23) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ? 23:23)))));
     }
 
     if ((Hardware->identity.chipModel == gcv1000 &&
@@ -2264,20 +2437,30 @@ gckHARDWARE_InitializeHardware(
         gctUINT32 pulseEater;
 
         pulseEater = ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)));
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
 
         gcmkONERROR(
             gckOS_WriteRegisterEx(Hardware->os,
                                   Hardware->core,
                                   0x0010C,
                                   ((((gctUINT32) (pulseEater)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17)))));
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ?
+ 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17)))));
     }
 
     if ((gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI2) == gcvSTATUS_FALSE)
@@ -2295,10 +2478,15 @@ gckHARDWARE_InitializeHardware(
         }
 
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:15) - (0 ? 15:15) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:15) - (0 ?
- 15:15) + 1))))))) << (0 ? 15:15))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 15:15) - (0 ? 15:15) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:15) - (0 ?
- 15:15) + 1))))))) << (0 ? 15:15)));
+ 15:15) - (0 ?
+ 15:15) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1))))))) << (0 ?
+ 15:15))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ? 15:15)));
     }
 
     if (_IsHardwareMatch(Hardware, gcv2000, 0x5108))
@@ -2311,15 +2499,25 @@ gckHARDWARE_InitializeHardware(
 
         /* Set FE bus to one, TX bus to zero */
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3)));
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7)));
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
 
         gcmkONERROR(
             gckOS_WriteRegisterEx(Hardware->os,
@@ -2348,10 +2546,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable PA clock gating. */
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4)));
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
     }
 
     /* Limit 2D outstanding request. */
@@ -2366,10 +2569,15 @@ gckHARDWARE_InitializeHardware(
                                  &data));
 
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) (Hardware->maxOutstandingReads & 0xFF) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0)));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)));
 
         gcmkONERROR(
             gckOS_WriteRegisterEx(Hardware->os,
@@ -2388,10 +2596,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable HZ-L2. */
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12)));
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ?
+ 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)));
 
         gcmkONERROR(
             gckOS_WriteRegisterEx(Hardware->os,
@@ -2419,10 +2632,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable TX clock gating. */
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7)));
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
     }
 
     if (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_NEW_GPIPE) &&
@@ -2440,10 +2658,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable GPIPE clock gating. */
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22)));
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ?
+ 22:22))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22)));
     }
 
     if (_IsHardwareMatch(Hardware, gcv880, 0x5106))
@@ -2463,17 +2686,27 @@ gckHARDWARE_InitializeHardware(
 
     /* Disable RA HZ clock gating. */
     regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17)));
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ?
+ 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17)));
 
     /* Disable RA EZ clock gating. */
     regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)));
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
 
     if ((gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI5)
        && !gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_RA_CG_FIX)
@@ -2492,10 +2725,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable RA clock gating. */
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ?
- 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6)));
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
     }
 
     if ((gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI5)
@@ -2515,10 +2753,15 @@ gckHARDWARE_InitializeHardware(
 
         /* Disable SH clock gating. */
         regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3)));
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
     }
 
     if (regPMC != 0)
@@ -2558,21 +2801,36 @@ gckHARDWARE_InitializeHardware(
         data =
 #if gcdDVFS
             ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
- 18:18) + 1))))))) << (0 ? 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
- 18:18) + 1))))))) << (0 ? 18:18))) |
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ?
+ 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ? 18:18))) |
 #endif
             ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) |
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) |
             ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17)));
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ?
+ 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
                                       Hardware->core,
@@ -2587,8 +2845,14 @@ gckHARDWARE_InitializeHardware(
 
         /* AXI switch setup to SPLIT_TO64 mode */
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(
@@ -2913,24 +3177,39 @@ gckHARDWARE_Execute(
 
     /* Build control register. */
     control = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)))
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) ((Bytes + 7) >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
     /* Set big endian */
     if (Hardware->bigEndian)
     {
         control |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 21:20) - (0 ? 21:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:20) - (0 ?
- 21:20) + 1))))))) << (0 ? 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
- 21:20) - (0 ? 21:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:20) - (0 ?
- 21:20) + 1))))))) << (0 ? 21:20)));
+ 21:20) - (0 ?
+ 21:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 21:20) - (0 ?
+ 21:20) + 1))))))) << (0 ?
+ 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 21:20) - (0 ?
+ 21:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 21:20) - (0 ? 21:20) + 1))))))) << (0 ? 21:20)));
     }
 
     /* Make sure writing to command buffer and previous AHB register is done. */
@@ -3001,24 +3280,39 @@ gckHARDWARE_AtomicExecute(
 
     /* Build control register. */
     control = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)))
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) ((Bytes + 7) >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
     /* Set big endian */
     if (Hardware->bigEndian)
     {
         control |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 21:20) - (0 ? 21:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:20) - (0 ?
- 21:20) + 1))))))) << (0 ? 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
- 21:20) - (0 ? 21:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:20) - (0 ?
- 21:20) + 1))))))) << (0 ? 21:20)));
+ 21:20) - (0 ?
+ 21:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 21:20) - (0 ?
+ 21:20) + 1))))))) << (0 ?
+ 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 21:20) - (0 ?
+ 21:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 21:20) - (0 ? 21:20) + 1))))))) << (0 ? 21:20)));
     }
 
     /* Make sure writing to command buffer and previous AHB register is done. */
@@ -3156,15 +3450,25 @@ gckHARDWARE_WaitLink(
         /* Append WAIT(count). */
         *logical++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (Hardware->waitCount) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         logical++;
 
@@ -3172,39 +3476,70 @@ gckHARDWARE_WaitLink(
         {
             /* LoadState(AQFlush, 1), flush. */
             *logical++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *logical++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
         }
 
         /* Append LINK(2, address). */
         *logical++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *logical++ = Address;
 
@@ -3315,9 +3650,15 @@ gckHARDWARE_End(
 
         /* Append END. */
         logical[0] =
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         /* Record the count of execution which is finised by this END. */
@@ -3383,10 +3724,17 @@ gckHARDWARE_ChipEnable(
         /* Append CHIPENABLE. */
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x0D & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ChipEnable
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x0D & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ChipEnable
             );
 
         gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "0x%x: CHIPENABLE 0x%x", Logical, ChipEnable);
@@ -3460,10 +3808,15 @@ gckHARDWARE_Nop(
 
         /* Append NOP. */
         logical[0] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "0x%x: NOP", Logical);
     }
@@ -3578,23 +3931,41 @@ gckHARDWARE_Event(
         case gcvKERNEL_COMMAND:
             /* From command processor. */
             destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
             break;
 
         case gcvKERNEL_PIXEL:
             /* From pixel engine. */
             destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
             break;
 
         case gcvKERNEL_BLT:
             destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
             break;
 
@@ -3606,76 +3977,138 @@ gckHARDWARE_Event(
         {
             *logical++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *logical++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
 
         /* Append EVENT(Event, destination). */
         *logical++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *logical++
             = ((((gctUINT32) (destination)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) ((gctUINT32) (Event) & ((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)));
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) ((gctUINT32) (Event) & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
 
         if (blt)
         {
             *logical++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *logical++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
 
@@ -3701,20 +4134,35 @@ gckHARDWARE_Event(
         if (extraEventStates)
         {
             *logical++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0100) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0100) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
             *logical++ = 0;
             *logical++ = 0;
             *logical++ = 0;
@@ -3806,46 +4254,93 @@ gckHARDWARE_PipeSelect(
         }
 
         flush = (Pipe == gcvPIPE_2D)
-              ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+              ?
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
               : ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
 
         stall = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* LoadState(AQFlush, 1), flush. */
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             ));
 
         gcmkONERROR(gckOS_WriteMemory(
@@ -3861,20 +4356,36 @@ gckHARDWARE_PipeSelect(
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             logical + 2,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             ));
 
         gcmkONERROR(gckOS_WriteMemory(
@@ -3890,9 +4401,15 @@ gckHARDWARE_PipeSelect(
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             logical + 4,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             ));
 
@@ -3909,20 +4426,36 @@ gckHARDWARE_PipeSelect(
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             logical + 6,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             ));
 
         gcmkONERROR(gckOS_WriteMemory(
@@ -4035,15 +4568,25 @@ gckHARDWARE_Link(
 
         /* Append LINK(bytes / 8), FetchAddress. */
         link = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         gcmkONERROR(
             gckOS_WriteMemory(Hardware->os, logical, link));
@@ -4093,20 +4636,36 @@ gckHARDWARE_FenceRender(
     {
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E1A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E1A) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
@@ -4116,20 +4675,36 @@ gckHARDWARE_FenceRender(
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E26) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E26) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
@@ -4139,20 +4714,36 @@ gckHARDWARE_FenceRender(
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E1B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E1B) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
@@ -4187,46 +4778,84 @@ gckHARDWARE_FenceBlt(
     {
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             );
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x5029) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x5029) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
@@ -4236,20 +4865,36 @@ gckHARDWARE_FenceBlt(
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502D) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502D) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
@@ -4259,20 +4904,36 @@ gckHARDWARE_FenceBlt(
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502A) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
@@ -4282,27 +4943,49 @@ gckHARDWARE_FenceBlt(
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gcmkWRITE_MEMORY(
             logical,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             );
     }
@@ -4463,16 +5146,27 @@ gckHARDWARE_ConvertLogical(
 
     /* Return hardware specific address. */
     *Address = (Hardware->mmuVersion == 0)
-             ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31)))
+             ?
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ?
+ 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
- 30:0))) | (((gctUINT32) ((gctUINT32) (address) & ((gctUINT32) ((((1 ? 30:0) - (0 ?
- 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
- 30:0)))
+ 30:0) - (0 ?
+ 30:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 30:0) - (0 ?
+ 30:0) + 1))))))) << (0 ?
+ 30:0))) | (((gctUINT32) ((gctUINT32) (address) & ((gctUINT32) ((((1 ?
+ 30:0) - (0 ?
+ 30:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0)))
              : address;
 
     /* Success. */
@@ -4777,10 +5471,15 @@ gckHARDWARE_QuerySystemMemory(
     {
         /* Set system memory base address. */
         *SystemBaseAddress = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31)));
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ?
+ 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)));
     }
 
     /* Success. */
@@ -5095,21 +5794,48 @@ gckHARDWARE_SetMMU(
                     Hardware->core,
                     0x003A0,
                     (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) ((gctUINT32)extSafeAddress) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))))
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) ((gctUINT32)extSafeAddress) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ?
+ 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))))
                   | (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) ((gctUINT32)extSafeAddress) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:15) - (0 ?
- 15:15) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ?
- 15:15))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1))))))) << (0 ?
+ 15:15))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ? 15:15))))
                     );
             }
@@ -5174,8 +5900,14 @@ gckHARDWARE_SetMMU(
                     Hardware->core,
                     0x00388,
                     ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                     ));
             }
@@ -5186,10 +5918,15 @@ gckHARDWARE_SetMMU(
                     Hardware->core,
                     0x0018C,
                     ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (gcvTRUE) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)))
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (gcvTRUE) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                     ));
             }
         }
@@ -5230,97 +5967,183 @@ gckHARDWARE_FlushAsyncMMU(
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             ));
 
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 1,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             ));
 
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 2,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
           ));
 
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 3,
             (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) &  ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) &  ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))))
             ));
 
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 4,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             ));
 
         semaphore = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         if (Hardware->stallFEPrefetch)
         {
             semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28)));
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ?
+ 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ? 29:28)));
         }
 
         gcmkONERROR(gckOS_WriteMemory(
@@ -5331,28 +6154,51 @@ gckHARDWARE_FlushAsyncMMU(
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 6,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             ));
 
         stall = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         if (Hardware->stallFEPrefetch)
         {
            stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28)));
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ?
+ 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ? 29:28)));
         }
 
         gcmkONERROR(gckOS_WriteMemory(
@@ -5363,28 +6209,50 @@ gckHARDWARE_FlushAsyncMMU(
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 8,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+          | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
           ));
 
         gcmkONERROR(gckOS_WriteMemory(
             Hardware->os,
             buffer + 9,
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             ));
     }
@@ -5454,41 +6322,86 @@ gckHARDWARE_FlushMMU(
 
         buffer[0]
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         buffer[1]
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
 
         gcmkONERROR(gckCOMMAND_Execute(command, 8));
@@ -5520,15 +6433,25 @@ gckHARDWARE_FlushMMU(
         /* LINK to next slot to flush FE FIFO. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (prefetchCount) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = address + offset * gcmSIZEOF(gctUINT32);
@@ -5536,28 +6459,58 @@ gckHARDWARE_FlushMMU(
         /* Flush MMU cache. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *buffer++
             = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) &  ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) &  ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
 
         if (bltEngine)
@@ -5565,72 +6518,131 @@ gckHARDWARE_FlushMMU(
             /* Blt lock. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
 
         /* Arm the PE-FE Semaphore. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         semaphore = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
 
         if (Hardware->stallFEPrefetch)
         {
             semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28)));
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ?
+ 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ? 29:28)));
         }
 
         if (bltEngine)
         {
             semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
         else
         {
             semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
 
@@ -5640,37 +6652,65 @@ gckHARDWARE_FlushMMU(
         /* STALL FE until PE is done flushing. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         stall = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
 
         if (Hardware->stallFEPrefetch)
         {
            stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
- 29:28) + 1))))))) << (0 ? 29:28)));
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ?
+ 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 29:28) - (0 ?
+ 29:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ? 29:28)));
         }
 
         if (bltEngine)
         {
             stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
         else
         {
             stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
 
@@ -5682,40 +6722,71 @@ gckHARDWARE_FlushMMU(
             /* Blt unlock. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
 
         /* LINK to next slot to flush FE FIFO. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (count) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (count) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = address + flushSize;
@@ -5844,15 +6915,25 @@ gckHARDWARE_SetMMUStates(
     if (ace)
     {
         configEx = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) (extSafeAddress) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0)))
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
                  | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (extMtlb) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (extMtlb) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)));
     }
 
     switch (Mode)
@@ -5864,8 +6945,14 @@ gckHARDWARE_SetMMUStates(
         }
 
         config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
         break;
@@ -5877,8 +6964,14 @@ gckHARDWARE_SetMMUStates(
         }
 
         config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
         break;
@@ -5908,29 +7001,58 @@ gckHARDWARE_SetMMUStates(
             /* Setup command buffer to load index 0 of page table array. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x006B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x006B) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++
                 = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))));
         }
         else
@@ -5939,39 +7061,69 @@ gckHARDWARE_SetMMUStates(
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++ = config;
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++ = address;
 
@@ -5979,20 +7131,35 @@ gckHARDWARE_SetMMUStates(
             {
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0068) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0068) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *buffer++
                     = configEx;
@@ -6001,56 +7168,132 @@ gckHARDWARE_SetMMUStates(
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E12) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E12) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)));
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
 
         do{*buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
 ;
 
@@ -6060,58 +7303,103 @@ gckHARDWARE_SetMMUStates(
             /* LoadState(AQPipeSelect, 1), pipe. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++ = 0x1;
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++ = config;
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++ = address;
 
@@ -6119,53 +7407,124 @@ gckHARDWARE_SetMMUStates(
             {
                 *buffer++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0068) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0068) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *buffer++
                     = configEx;
             }
 
             do{*buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
 ;
 
@@ -6173,51 +7532,122 @@ gckHARDWARE_SetMMUStates(
             /* LoadState(AQPipeSelect, 1), pipe. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
             *buffer++ = 0x0;
 
             do{*buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
 ;
 
@@ -6384,12 +7814,24 @@ gckHARDWARE_ConfigMMU(
         gcmkSAFECASTPHYSADDRT(config, physical);
 
         config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
 
         if (stCmds)
@@ -6397,210 +7839,415 @@ gckHARDWARE_ConfigMMU(
             /* Arm the PE-FE Semaphore. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
             /* STALL FE until PE is done flushing. */
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
             *buffer++
                 = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
         }
 
         /* Flush cache. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_VSHL1_CACHE))) | (((gctUINT32) (AQ_FLUSH_VSHL1_CACHE_ENABLE & ((gctUINT32) ((((1 ?
- AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_VSHL1_CACHE)))
+ AQ_FLUSH_VSHL1_CACHE) - (0 ?
+ AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ AQ_FLUSH_VSHL1_CACHE) - (0 ?
+ AQ_FLUSH_VSHL1_CACHE) + 1))))))) << (0 ?
+ AQ_FLUSH_VSHL1_CACHE))) | (((gctUINT32) (AQ_FLUSH_VSHL1_CACHE_ENABLE & ((gctUINT32) ((((1 ?
+ AQ_FLUSH_VSHL1_CACHE) - (0 ?
+ AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ AQ_FLUSH_VSHL1_CACHE) - (0 ?
+ AQ_FLUSH_VSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_VSHL1_CACHE)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_PSHL1_CACHE))) | (((gctUINT32) (AQ_FLUSH_PSHL1_CACHE_ENABLE & ((gctUINT32) ((((1 ?
- AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_PSHL1_CACHE)))
+ AQ_FLUSH_PSHL1_CACHE) - (0 ?
+ AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ AQ_FLUSH_PSHL1_CACHE) - (0 ?
+ AQ_FLUSH_PSHL1_CACHE) + 1))))))) << (0 ?
+ AQ_FLUSH_PSHL1_CACHE))) | (((gctUINT32) (AQ_FLUSH_PSHL1_CACHE_ENABLE & ((gctUINT32) ((((1 ?
+ AQ_FLUSH_PSHL1_CACHE) - (0 ?
+ AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ AQ_FLUSH_PSHL1_CACHE) - (0 ?
+ AQ_FLUSH_PSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_PSHL1_CACHE)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
 
         /* Flush VTS in separate command */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
 
         /* Flush tile status cache. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
         /* Arm the PE-FE Semaphore. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* STALL FE until PE is done flushing. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* LINK to next slot to flush FE FIFO. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = address + (stCmds + 12) * gcmSIZEOF(gctUINT32);
@@ -6608,108 +8255,207 @@ gckHARDWARE_ConfigMMU(
         /* Configure MMU. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *buffer++
             = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) &  ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) &  ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
 
         /* Arm the PE-FE Semaphore. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* STALL FE until PE is done flushing. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* LINK to next slot to flush FE FIFO. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = physical + (stCmds + 20) * 4;
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *buffer++
             = config;
@@ -6717,76 +8463,146 @@ gckHARDWARE_ConfigMMU(
         /* Arm the PE-FE Semaphore. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* STALL FE until PE is done flushing. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
         /* Event 29. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         event = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
         event = ((((gctUINT32) (event)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) ((gctUINT32) (29) & ((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)));
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) ((gctUINT32) (29) & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
 
         *buffer++
             = event;
@@ -6794,10 +8610,15 @@ gckHARDWARE_ConfigMMU(
         /* Append END. */
         *buffer++
            = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
     }
 
     if (Bytes != gcvNULL)
@@ -6862,15 +8683,25 @@ gckHARDWARE_BuildVirtualAddress(
 
     /* Build virtual address. */
     *Address = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31)))
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ?
+ 31:31))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
              | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
+ 30:0) - (0 ?
+ 30:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 30:0) - (0 ?
+ 30:0) + 1))))))) << (0 ?
  30:0))) | (((gctUINT32) ((gctUINT32) (Offset | (Index << 12)) & ((gctUINT32) ((((1 ?
- 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
- 30:0)));
+ 30:0) - (0 ?
+ 30:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ? 30:0)));
 
     /* Success. */
     gcmkFOOTER_ARG("*Address=0x%08x", *Address);
@@ -7028,8 +8859,14 @@ gckHARDWARE_Flush(
     if ((Flush & gcvFLUSH_COLOR) && (pipe == 0x0))
     {
         flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
     }
 
@@ -7037,8 +8874,14 @@ gckHARDWARE_Flush(
     if ((Flush & gcvFLUSH_DEPTH) && (pipe == 0x0))
     {
         flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
     }
 
@@ -7046,12 +8889,24 @@ gckHARDWARE_Flush(
     if ((Flush & gcvFLUSH_TEXTURE) && (pipe == 0x0))
     {
         flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
         flushVST = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
     }
 
@@ -7059,8 +8914,14 @@ gckHARDWARE_Flush(
     if ((Flush & gcvFLUSH_2D) && (pipe == 0x1))
     {
         flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
     }
 
@@ -7068,8 +8929,14 @@ gckHARDWARE_Flush(
     if ((Flush & gcvFLUSH_L2) && (pipe == 0x0))
     {
         flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
     }
 
@@ -7077,19 +8944,35 @@ gckHARDWARE_Flush(
     if ((Flush & (gcvFLUSH_VERTEX | gcvFLUSH_TEXTURE)) && (pipe == 0x0))
     {
         flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 10:10) - (0 ? 10:10) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 10:10) - (0 ?
- 10:10) + 1))))))) << (0 ? 10:10))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 10:10) - (0 ? 10:10) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 10:10) - (0 ?
- 10:10) + 1))))))) << (0 ? 10:10)))
+ 10:10) - (0 ?
+ 10:10) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 10:10) - (0 ?
+ 10:10) + 1))))))) << (0 ?
+ 10:10))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 10:10) - (0 ?
+ 10:10) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 10:10) - (0 ? 10:10) + 1))))))) << (0 ? 10:10)))
                | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11)));
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ?
+ 11:11))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)));
     }
 
     /* See if there is a valid flush. */
@@ -7167,93 +9050,179 @@ gckHARDWARE_Flush(
                     /* Semaphore from FE to BLT. */
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                     /* Stall from FE to BLT. */
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
                 }
                 else
@@ -7261,47 +9230,91 @@ gckHARDWARE_Flush(
                     /* Semaphore. */
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                     /* Stall. */
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
                 }
             }
@@ -7311,20 +9324,35 @@ gckHARDWARE_Flush(
                 /* Append LOAD_STATE to AQFlush. */
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *logical++ = flush;
 
@@ -7336,20 +9364,35 @@ gckHARDWARE_Flush(
                 /* Append LOAD_STATE to AQFlush. */
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *logical++ = flushVST;
 
@@ -7362,96 +9405,180 @@ gckHARDWARE_Flush(
                 {
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502B) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
                 }
                 else
                 {
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                         | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                     *logical++
                         = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
                 }
 
@@ -7463,47 +9590,87 @@ gckHARDWARE_Flush(
             {
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x022C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x022C) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)))
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1)))
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2)))
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3)))
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4)));
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
 
                 gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
                                "0x%x: FLUSH Icache 0x%x", logical - 1, logical[-1]);
@@ -7514,27 +9681,47 @@ gckHARDWARE_Flush(
             {
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x5311) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x5311) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)));
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)));
 
                 gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
                                "0x%x: FLUSH Icache 0x%x", logical - 1, logical[-1]);
@@ -7545,20 +9732,35 @@ gckHARDWARE_Flush(
             {
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x7003) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x7003) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
                 *logical++
                     = 0x12345678;
@@ -7573,93 +9775,179 @@ gckHARDWARE_Flush(
                 /* Semaphore from FE to BLT. */
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall from FE to BLT. */
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
             }
             else
@@ -7667,47 +9955,91 @@ gckHARDWARE_Flush(
                 /* Semaphore. */
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
 
                 /* Stall. */
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
                 *logical++
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
             }
         }
@@ -7777,20 +10109,31 @@ gckHARDWARE_SetFastClear(
 
         /* Set fast clear bypass. */
         debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20)));
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ?
+ 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
 
         if (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_BUG_FIXES7) ||
             (Hardware->identity.chipModel >= gcv4000))
         {
             /* Set compression bypass. */
             debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
- 21:21) + 1))))))) << (0 ? 21:21))) | (((gctUINT32) ((gctUINT32) ((gcvCOMPRESSION_OPTION_NONE == compression) ?
- 1 : 0) & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- 21:21) - (0 ? 21:21) + 1))))))) << (0 ? 21:21)));
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1))))))) << (0 ?
+ 21:21))) | (((gctUINT32) ((gctUINT32) ((gcvCOMPRESSION_OPTION_NONE == compression) ?
+ 1 : 0) & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ?
+ 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1))))))) << (0 ? 21:21)));
         }
 
         /* Write back AQMemoryDebug register. */
@@ -7966,92 +10309,172 @@ gckHARDWARE_SetPowerManagementState(
     static const gctUINT clocks[4] =
     {
         /* gcvPOWER_ON */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) | (((gctUINT32) ((gctUINT32) (64) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
+ 8:2))) | (((gctUINT32) ((gctUINT32) (64) & ((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
 
         /* gcvPOWER_OFF */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
+ 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
 
         /* gcvPOWER_IDLE */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
+ 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
 
         /* gcvPOWER_SUSPEND */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) |
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
+ 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))),
     };
 
     gcmkHEADER_ARG("Hardware=0x%x State=%d", Hardware, State);
@@ -8190,10 +10613,15 @@ gckHARDWARE_SetPowerManagementState(
     if (State == gcvPOWER_ON)
     {
         clock = ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
  8:2))) | (((gctUINT32) ((gctUINT32) (Hardware->powerOnFscaleVal) & ((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2)));
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2)));
     }
 #endif
 
@@ -8210,25 +10638,45 @@ gckHARDWARE_SetPowerManagementState(
 #else
     /* Clock should be on when switch power from off to suspend */
         clock = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) |
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))) |
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) |
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1))) |
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2))) |
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
+ 8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2))) |
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) ;
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9))) ;
 #endif
     }
 
@@ -8537,10 +10985,15 @@ gckHARDWARE_SetPowerManagementState(
                                                   Hardware->core,
                                                   0x00000,
                                                   ((((gctUINT32) (clocks[0])) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9)))));
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
             }
         }
 
@@ -8595,10 +11048,15 @@ gckHARDWARE_SetPowerManagementState(
                                           Hardware->core,
                                           0x00000,
                                           ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9)))));
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
     }
 
     if (flag & gcvPOWER_FLAG_DELAY)
@@ -8887,10 +11345,15 @@ gckHARDWARE_SetGpuProfiler(
                                  &data));
 
         data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
 
         gcmkVERIFY_OK(
@@ -8952,81 +11415,156 @@ gckHARDWARE_SetFscaleValue(
                                   Hardware->powerBaseAddress
                                   + 0x00104,
                                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)))
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1)))
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2)))
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3)))
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4)))
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5)))
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ?
- 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6)))
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7)))
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:8) - (0 ? 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8)))
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1))))))) << (0 ?
+ 8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9)))
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))
                                   | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11)))));
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ?
+ 11:11))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)))));
 
         clock = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)))
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1)))
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:2) - (0 ?
+ 8:2) + 1))))))) << (0 ?
  8:2))) | (((gctUINT32) ((gctUINT32) (FscaleValue) & ((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
- 8:2)))
+ 8:2) - (0 ?
+ 8:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ? 8:2)))
               | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9)));
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
                                           Hardware->core,
@@ -9038,10 +11576,15 @@ gckHARDWARE_SetFscaleValue(
                                           Hardware->core,
                                           0x00000,
                                           ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9)))));
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
 
         /* Restore all clock gating. */
         gcmkONERROR(
@@ -9138,6 +11681,8 @@ gckHARDWARE_QueryIdle(
     gctUINT32 idle;
 #if !gcdSECURITY
     gctUINT32 address;
+    gctUINT32 dmaLow;
+    gctUINT32 opCode;
 #endif
     gctBOOL isIdle = gcvFALSE;
 
@@ -9194,6 +11739,25 @@ gckHARDWARE_QueryIdle(
             /* FE is not in WAIT/LINK yet. */
             break;
         }
+
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00668,
+                                         &dmaLow));
+
+        gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+                                         Hardware->core,
+                                         0x00668,
+                                         &dmaLow));
+
+        opCode = dmaLow >> 27;
+
+        /* Test if current command buffer is WAIT/LINK . */
+        if (opCode != 0x7 && opCode != 0x8)
+        {
+            /* FE is not in WAIT/LINK yet. */
+            break;
+        }
 #endif
 
 #if gcdINTERRUPT_STATISTIC
@@ -9512,10 +12076,15 @@ gckHARDWARE_UpdateContextProfile(
             Hardware->core,
             0x00000,
             ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
- 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
- 23:20) + 1))))))) << (0 ? 23:20)))));
+ 23:20) - (0 ?
+ 23:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ?
+ 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ?
+ 23:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20)))));
 
         /* BW */
         gcmkONERROR(
@@ -9534,29 +12103,49 @@ gckHARDWARE_UpdateContextProfile(
 
         /* PE */
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
- &colorKilled));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &colorKilled));
+
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
- &depthKilled));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &depthKilled));
+
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
- &colorDrawn));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &colorDrawn));
+
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
- &depthDrawn));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &depthDrawn));
+
 
         if (i == 0)
         {
@@ -9608,66 +12197,116 @@ gckHARDWARE_UpdateContextProfile(
 
 #if !USE_SW_RESET
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
 ));
 #endif
 
     /* FE */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_draw_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_out_vertex_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_cache_miss_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_cache_lk_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_stall_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_process_count));
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0)))
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
 ));
 
     gcmkUPDATE_PROFILE_DATA_PART1(fe_draw_count);
@@ -9678,132 +12317,237 @@ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((g
 
     /* SH */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_inst_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_rendered_pixel_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_inst_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_rendered_vertice_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_branch_inst_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_texld_inst_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_branch_inst_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_texld_inst_counter));
     if (hasNewCounters)
     {
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_non_idle_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_stall_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_process_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_non_idle_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_stall_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_process_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->shader_cycle_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_non_idle_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_stall_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_process_count));
     }
 #if USE_SW_RESET
@@ -9858,92 +12602,162 @@ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profile
     }
 #if !USE_SW_RESET
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24)))
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
 ));
 #endif
 
     /* PA */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_input_vtx_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_input_prim_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_output_prim_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_depth_clipped_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_trivial_rejected_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_culled_prim_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_droped_prim_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_frustum_clipped_prim_counter));
     if (hasNewCounters)
     {
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_non_idle_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_stall_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_process_count));
     }
 #if USE_SW_RESET
@@ -9980,109 +12794,194 @@ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profile
     }
 #if !USE_SW_RESET
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0)))
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
 ));
 #endif
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_clipped_triangle_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_clipped_line_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_culled_triangle_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_culled_lines_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_trivial_rejected_line_count));
     if (hasNewCounters)
     {
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_stall_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_receive_triangle_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_send_triangle_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_receive_lines_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_send_lines_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_process_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_non_idle_starve_count));
     }
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
  15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8)))
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))
 ));
 
     gcmkUPDATE_PROFILE_DATA_PART1(se_clipped_triangle_count);
@@ -10104,84 +13003,149 @@ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((g
 
     /* RA */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_valid_pixel_count_to_render));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_total_quad_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_valid_quad_count_after_early_z));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_input_prim_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_pipe_cache_miss_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_prefetch_cache_miss_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_eez_culled_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_pipe_hz_cache_miss_counter));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_prefetch_hz_cache_miss_counter));
     if (hasNewCounters)
     {
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_non_idle_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_starve_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_stall_count));
         gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_process_count));
     }
 #if USE_SW_RESET
@@ -10220,77 +13184,137 @@ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profile
     }
 #if !USE_SW_RESET
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
 ));
 #endif
 
     /* TX */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_bilinear_requests));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_trilinear_requests));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_discarded_texture_requests));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_texture_requests));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc0_miss_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc0_request_byte_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc1_miss_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc1_request_byte_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) ));
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24)))
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
+ 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
 ));
 
     gcmkUPDATE_PROFILE_DATA_PART1(tx_total_bilinear_requests);
@@ -10304,142 +13328,257 @@ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474,   ((((g
 
     /* MC */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_8B_from_colorpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_8B_sentout_from_colorpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_write_req_8B_from_colorpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_sentout_from_colorpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_write_req_from_colorpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_8B_from_depthpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_8B_sentout_from_depthpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_write_req_8B_from_depthpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_sentout_from_depthpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_write_req_from_depthpipe));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_8B_from_others));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_write_req_8B_from_others));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_read_req_from_others));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mcc_total_write_req_from_others));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_fe_read_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_mmu_read_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_blt_read_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_sh0_read_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_sh1_read_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_pe_write_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (27) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (27) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_blt_write_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (28) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (28) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_sh0_write_bandwidth));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (29) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (29) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_sh1_write_bandwidth));
 
     /* Reset counters. */
@@ -10449,15 +13588,25 @@ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profile
         gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 0));
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) ));
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0)))
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
 ));
 
     gcmkUPDATE_PROFILE_DATA_PART2(mcc_total_read_req_8B_from_colorpipe);
@@ -10526,34 +13675,59 @@ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((g
 
     /* HI */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler_part2->hi0_axi_cycles_read_request_stalled));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler_part2->hi0_axi_cycles_write_request_stalled));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler_part2->hi0_axi_cycles_write_data_stalled));
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
  15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) ));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8)))
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))
 ));
 
     gcmkUPDATE_PROFILE_DATA_PART2(hi0_axi_cycles_read_request_stalled);
@@ -10562,94 +13736,169 @@ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((g
 
     /* L2 */
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_axi0_read_request_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_axi0_write_request_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_axi1_write_request_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_read_transactions_request_by_axi0));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_read_transactions_request_by_axi1));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_write_transactions_request_by_axi0));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_write_transactions_request_by_axi1));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi0_minmax_latency));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi0_total_latency));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi0_total_request_count));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi1_minmax_latency));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi1_total_latency));
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi1_total_request_count));
 
     gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) ));
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16))) ));
 gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478,   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16)))
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
 ));
 
     profiler_part2->l2_axi0_min_latency = (profiler_part2->l2_axi0_minmax_latency & 0xffff0000) >> 16;
@@ -10713,10 +13962,15 @@ gckHARDWARE_InitProfiler(
                                       Hardware->core,
                                       0x00000,
                                       ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
- 11:11) + 1))))))) << (0 ? 11:11)))));
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ?
+ 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ?
+ 11:11) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)))));
 
 OnError:
     /* Return the status. */
@@ -10744,10 +13998,15 @@ _ResetGPU(
                     0x00000000));
 
         control = ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
- 17:17) + 1))))))) << (0 ? 17:17)));
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ?
+ 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ?
+ 17:17) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ? 17:17)));
 
         /* Disable pulse-eater. */
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
@@ -10759,10 +14018,15 @@ _ResetGPU(
                     Core,
                     0x0010C,
                     ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)))));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
                     Core,
@@ -10773,10 +14037,15 @@ _ResetGPU(
                     Core,
                     0x00000,
                     ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9)))));
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)))));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
                     Core,
@@ -10788,10 +14057,15 @@ _ResetGPU(
 
         /* Isolate the GPU. */
         control = ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
                                           Core,
@@ -10805,8 +14079,14 @@ _ResetGPU(
                                               Core,
                                               0x003A8,
                                               ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))));
         }
         else
@@ -10816,10 +14096,15 @@ _ResetGPU(
                                               Core,
                                               0x00000,
                                               ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12)))));
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ?
+ 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
         }
 
         /* Wait for reset. */
@@ -10830,17 +14115,27 @@ _ResetGPU(
                                           Core,
                                           0x00000,
                                           ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12)))));
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ?
+ 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
 
         /* Reset GPU isolation. */
         control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
                                           Core,
@@ -10983,10 +14278,15 @@ gckHARDWARE_NeedBaseAddress(
     gcmkVERIFY_ARGUMENT(NeedBase != gcvNULL);
 
     /* Make sure this is a load state. */
-    if (((((gctUINT32) (State)) >> (0 ? 31:27) & ((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))))
+    if (((((gctUINT32) (State)) >> (0 ?
+ 31:27) & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))))
     {
 #if gcdENABLE_3D
         /* Get the state address. */
@@ -11838,10 +15138,15 @@ gckHARDWARE_GetFrameInfo(
                                           Hardware->core,
                                           0x00000,
                                           ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
- 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
- 23:20) + 1))))))) << (0 ? 23:20)))));
+ 23:20) - (0 ?
+ 23:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ?
+ 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ?
+ 23:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20)))));
 
         /* Read cycle registers. */
         gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
@@ -11997,10 +15302,15 @@ gckHARDWARE_DumpGpuProfile(
                                           Hardware->core,
                                           0x00000,
                                           ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
- 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
- 23:20) + 1))))))) << (0 ? 23:20)))));
+ 23:20) - (0 ?
+ 23:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ?
+ 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ?
+ 23:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ? 23:20)))));
 
         /* BW */
         gcmkONERROR(
@@ -12164,10 +15474,15 @@ gckHARDWARE_SetDVFSPeroid(
                                           Hardware->core,
                                           0x0010C,
                                           ((((gctUINT32) (eater)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8))) | (((gctUINT32) ((gctUINT32) (period) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
- 15:8)))));
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (period) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ?
+ 15:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ? 15:8)))));
 
 #if READ_FROM_EATER1
         /* Config eater1. */
@@ -12180,10 +15495,15 @@ gckHARDWARE_SetDVFSPeroid(
                                           Hardware->core,
                                           0x00130,
                                           ((((gctUINT32) (eater1)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
- 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (period1) & ((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
- 31:16) + 1))))))) << (0 ? 31:16)))));
+ 31:16) - (0 ?
+ 31:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ?
+ 31:16))) | (((gctUINT32) ((gctUINT32) (period1) & ((gctUINT32) ((((1 ?
+ 31:16) - (0 ?
+ 31:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ? 31:16)))));
 #endif
     }
     else
@@ -12216,35 +15536,65 @@ gckHARDWARE_InitDVFS(
                                      &data));
 
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)));
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)));
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
- 18:18) + 1))))))) << (0 ? 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
- 18:18) + 1))))))) << (0 ? 18:18)));
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ?
+ 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ? 18:18)));
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20)));
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ?
+ 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
- 23:23) + 1))))))) << (0 ? 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
- 23:23) + 1))))))) << (0 ? 23:23)));
+ 23:23) - (0 ?
+ 23:23) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:23) - (0 ?
+ 23:23) + 1))))))) << (0 ?
+ 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:23) - (0 ?
+ 23:23) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ? 23:23)));
     data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
- 22:22) + 1))))))) << (0 ? 22:22)));
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ?
+ 22:22))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 22:22) - (0 ?
+ 22:22) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22)));
 
     gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
                    "DVFS Configure=0x%X",
@@ -12326,6 +15676,10 @@ gckHARDWARE_PrepareFunctions(
 #endif
 #endif
 
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+        flags |= gcvALLOC_FLAG_CACHEABLE;
+#endif
+
         /* Allocate mmu command buffer within 32bit space */
         gcmkONERROR(gckOS_AllocateNonPagedMemory(
             os,
@@ -12379,11 +15733,21 @@ gckHARDWARE_PrepareFunctions(
             ));
 
         function->bytes = mmuBytes + endBytes;
+
+        gcmkONERROR(gckOS_CacheClean(
+            Hardware->os,
+            0,
+            Hardware->mmuFuncPhysical,
+            0,
+            Hardware->mmuFuncLogical,
+            function->bytes
+            ));
     }
 
 #if USE_KERNEL_VIRTUAL_BUFFERS
     if (Hardware->kernel->virtualCommandBuffer)
     {
+        gckVIRTUAL_COMMAND_BUFFER_PTR commandBuffer = gcvNULL;
         gcmkONERROR(gckKERNEL_AllocateVirtualCommandBuffer(
             Hardware->kernel,
             gcvFALSE,
@@ -12399,17 +15763,26 @@ gckHARDWARE_PrepareFunctions(
             Hardware->auxFuncPhysical,
             &Hardware->auxFuncAddress
             ));
+
+        commandBuffer = (gckVIRTUAL_COMMAND_BUFFER_PTR) Hardware->auxFuncPhysical;
+
+        Hardware->auxPhysHandle = commandBuffer->virtualBuffer.physical;
     }
     else
 #endif
     {
         gctPHYS_ADDR_T physical = 0;
+        gctUINT32 allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
+
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+        allocFlag |= gcvALLOC_FLAG_CACHEABLE;
+#endif
 
         /* Allocate a command buffer. */
         gcmkONERROR(gckOS_AllocateNonPagedMemory(
             os,
             gcvFALSE,
-            gcvALLOC_FLAG_CONTIGUOUS,
+            allocFlag,
             &Hardware->auxFuncBytes,
             &Hardware->auxFuncPhysical,
             &Hardware->auxFuncLogical
@@ -12434,6 +15807,8 @@ gckHARDWARE_PrepareFunctions(
             Hardware->auxFuncAddress,
             Hardware->auxFuncBytes
             ));
+
+        Hardware->auxPhysHandle = Hardware->auxFuncPhysical;
     }
 
     /*
@@ -12509,6 +15884,7 @@ gckHARDWARE_PrepareFunctions(
         function->bytes = eventBytes * 29;
     }
 
+
     /************************************************************************************
     * Dummy draw.
     */
@@ -12549,7 +15925,16 @@ gckHARDWARE_PrepareFunctions(
 
         function->bytes = dummyDrawBytes + endBytes;
     }
-    gcmkASSERT(offset < Hardware->auxFuncBytes)
+    gcmkASSERT(offset < Hardware->auxFuncBytes);
+
+    gcmkONERROR(gckOS_CacheClean(
+        Hardware->os,
+        0,
+        Hardware->auxPhysHandle,
+        0,
+        Hardware->auxFuncLogical,
+        Hardware->auxFuncBytes
+        ));
 
     gcmkFOOTER_NO();
     return gcvSTATUS_OK;
@@ -12754,60 +16139,105 @@ gckHARDWARE_WaitFence(
     {
         *logical++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x01FD) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x01FD) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *logical++
             = dataHigh;
 
         *logical++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x01FA) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x01FA) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *logical++
             = dataLow;
 
         *logical++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (Hardware->waitCount) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
- 17:16) + 1))))))) << (0 ? 17:16))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
- 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
- 17:16) + 1))))))) << (0 ? 17:16)));
+ 17:16) - (0 ?
+ 17:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ?
+ 17:16))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16)));
 
         *logical++
             = FenceAddress;
@@ -12982,542 +16412,1112 @@ gckHARDWARE_DummyDraw(
 {
     gctUINT32 dummyDraw_gc400[] = {
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0193) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0193) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0x000000,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0194) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0194) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0180) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:0) - (0 ?
- 3:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
- 3:0))) | (((gctUINT32) (0x8 & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0180) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1))))))) << (0 ?
+ 3:0))) | (((gctUINT32) (0x8 & ((gctUINT32) ((((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:12) - (0 ?
- 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
- 13:12))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 13:12) - (0 ?
- 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
- 13:12)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1))))))) << (0 ?
+ 13:12))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ? 23:16)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ?
  31:24))) | (((gctUINT32) ((gctUINT32) (4 * gcmSIZEOF(float)) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1))))))) << (0 ? 31:24)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
- 7:7))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ? 31:24)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1))))))) << (0 ?
+ 7:7))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 7:7) - (0 ?
+ 7:7) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E05) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E05) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0202) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0202) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1))))))) << (0 ?
+ 5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ? 5:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0208) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0208) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1))))))) << (0 ?
+ 5:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ? 5:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0201) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0201) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1))))))) << (0 ?
+ 5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ? 5:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0204) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
- 5:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0204) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1))))))) << (0 ?
+ 5:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 5:0) - (0 ?
+ 5:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ? 5:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x1000) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x1000) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0x0, 0x0, 0x0, 0x0,
         0xDEADDEAD,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0203) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:0) - (0 ?
- 6:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ?
- 6:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:0) - (0 ?
- 6:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ?
- 6:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0203) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 6:0) - (0 ?
+ 6:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:0) - (0 ?
+ 6:0) + 1))))))) << (0 ?
+ 6:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 6:0) - (0 ?
+ 6:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ? 6:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x020E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x020E) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0200) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0200) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         1,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x020C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x020C) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0x000F003F,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x028C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 11:8) - (0 ?
- 11:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ?
- 11:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 11:8) - (0 ?
- 11:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ?
- 11:8))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x028C) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 11:8) - (0 ?
+ 11:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:8) - (0 ?
+ 11:8) + 1))))))) << (0 ?
+ 11:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 11:8) - (0 ?
+ 11:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ? 11:8))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0500) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0500) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x028D) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:12) - (0 ?
- 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
- 13:12))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 13:12) - (0 ? 13:12) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x028D) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1))))))) << (0 ?
+ 13:12))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:8) - (0 ?
- 9:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:8) - (0 ? 9:8) + 1))))))) << (0 ?
- 9:8))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 9:8) - (0 ? 9:8) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 9:8) - (0 ?
+ 9:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:8) - (0 ?
+ 9:8) + 1))))))) << (0 ?
+ 9:8))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 9:8) - (0 ?
+ 9:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 9:8) - (0 ? 9:8) + 1))))))) << (0 ? 9:8)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 17:16) - (0 ?
- 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ?
- 17:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 17:16) - (0 ? 17:16) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ?
+ 17:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16))),
 
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0300) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0300) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0301) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0301) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0302) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0302) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0303) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0303) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0289) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:0) - (0 ?
- 3:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
- 3:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ?
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0289) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1))))))) << (0 ?
+ 3:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x05 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x05 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:0) - (0 ?
- 3:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
- 3:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1))))))) << (0 ?
+ 3:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:0) - (0 ?
+ 3:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
- 23:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
- 23:0))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
- 23:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
- 23:0))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:0) - (0 ?
+ 23:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:0) - (0 ?
+ 23:0) + 1))))))) << (0 ?
+ 23:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:0) - (0 ?
+ 23:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ? 23:0))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:0) - (0 ?
+ 23:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:0) - (0 ?
+ 23:0) + 1))))))) << (0 ?
+ 23:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:0) - (0 ?
+ 23:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ? 23:0))),
         };
 
     gctUINT32 dummyDraw_v60[] = {
 
         /* Semaphore from FE to PE. */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
 
         /* Stall from FE to PE. */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (0x0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (0x0) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E06) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E06) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) ((gctUINT32) (0x0) & ((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) ((gctUINT32) (0x0) & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 14:12) - (0 ? 14:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 14:12) - (0 ?
- 14:12) + 1))))))) << (0 ? 14:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 14:12) - (0 ? 14:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 14:12) - (0 ?
- 14:12) + 1))))))) << (0 ? 14:12)))
+ 14:12) - (0 ?
+ 14:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 14:12) - (0 ?
+ 14:12) + 1))))))) << (0 ?
+ 14:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 14:12) - (0 ?
+ 14:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 14:12) - (0 ? 14:12) + 1))))))) << (0 ? 14:12)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
- 17:16) + 1))))))) << (0 ? 17:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
- 17:16) + 1))))))) << (0 ? 17:16)))
+ 17:16) - (0 ?
+ 17:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ?
+ 17:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 17:16) - (0 ?
+ 17:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:4) - (0 ? 7:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ?
- 7:4))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:4) - (0 ?
- 7:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ?
- 7:4))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+ 7:4) - (0 ?
+ 7:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:4) - (0 ?
+ 7:4) + 1))))))) << (0 ?
+ 7:4))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 7:4) - (0 ?
+ 7:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ? 7:4))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0401) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0401) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0x0,
         0x2,
         0x0,
@@ -13527,388 +17527,791 @@ gckHARDWARE_DummyDraw(
         (gctUINT32)~0x0,
 
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x020C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x020C) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0xffffffff,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E07) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E07) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         2,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E08) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E08) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         2,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0420) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0420) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:0) - (0 ?
- 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
- 2:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 2:0) - (0 ?
- 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
- 2:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1))))))) << (0 ?
+ 2:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ? 2:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0424) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0424) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         1,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0403) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0403) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         3,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E21) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E21) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:0) - (0 ?
- 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
- 2:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 2:0) - (0 ? 2:0) + 1) == 32) ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1))))))) << (0 ?
+ 2:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 2:0) - (0 ?
+ 2:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ? 2:0))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x040A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x040A) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x2000) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x2000) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1 << 2) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1 << 2) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0x07801033,0x3fc00900,0x00000040,0x00390008,
         (gctUINT32)~0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x021F) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x021F) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         0x0,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0240) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0240) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:4) - (0 ? 6:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:4) - (0 ? 6:4) + 1))))))) << (0 ?
- 6:4))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 6:4) - (0 ? 6:4) + 1) == 32) ?
+ 6:4) - (0 ?
+ 6:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:4) - (0 ?
+ 6:4) + 1))))))) << (0 ?
+ 6:4))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 6:4) - (0 ?
+ 6:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:4) - (0 ? 6:4) + 1))))))) << (0 ? 6:4)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:8) - (0 ? 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ?
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1))))))) << (0 ?
+ 8:8))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:24) - (0 ? 26:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:24) - (0 ?
- 26:24) + 1))))))) << (0 ? 26:24))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 26:24) - (0 ? 26:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:24) - (0 ?
- 26:24) + 1))))))) << (0 ? 26:24))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+ 26:24) - (0 ?
+ 26:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 26:24) - (0 ?
+ 26:24) + 1))))))) << (0 ?
+ 26:24))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 26:24) - (0 ?
+ 26:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 26:24) - (0 ? 26:24) + 1))))))) << (0 ? 26:24))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0241) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0241) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (31) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (31) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
- 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
- 31:16) + 1))))))) << (0 ? 31:16))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+ 31:16) - (0 ?
+ 31:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ?
+ 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:16) - (0 ?
+ 31:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ? 31:16))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0244) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0244) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:0) - (0 ?
- 9:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ?
- 9:0))) | (((gctUINT32) ((gctUINT32) (31) & ((gctUINT32) ((((1 ? 9:0) - (0 ?
- 9:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ?
- 9:0)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 9:0) - (0 ?
+ 9:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:0) - (0 ?
+ 9:0) + 1))))))) << (0 ?
+ 9:0))) | (((gctUINT32) ((gctUINT32) (31) & ((gctUINT32) ((((1 ?
+ 9:0) - (0 ?
+ 9:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ? 9:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
- 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
- 31:16) + 1))))))) << (0 ? 31:16))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+ 31:16) - (0 ?
+ 31:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ?
+ 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:16) - (0 ?
+ 31:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ? 31:16))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0247) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0247) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
 
         (32+(4*(((gcsFEATURE_DATABASE *)Hardware->featureDatabase)->NumShaderCores)-1))/(4*(((gcsFEATURE_DATABASE *)Hardware->featureDatabase)->NumShaderCores)),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0248) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0248) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
         1,
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))),
 
         /* Semaphore from FE to PE. */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))),
-
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0))),
+
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
 
         /* Stall from FE to PE. */
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
 
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
+ 4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
+ 12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
 
         /* Invalidate I cache.*/
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x022C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x022C) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))),
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16))),
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1)))
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2)))
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3)))
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))),
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))),
     };
 
     gctUINT32 bytes = 0;
@@ -14046,7 +18449,8 @@ gckHARDWARE_QueryFrequency(
     gctUINT32 mcClk, shClk;
     gceSTATUS status;
     gctUINT32 powerManagement = 0;
-    gctBOOL globalAcquired = gcvFALSE, idle = gcvFALSE;
+    gctBOOL globalAcquired = gcvFALSE;
+    gceCHIPPOWERSTATE statesStored, state;
 
     gcmkHEADER_ARG("Hardware=0x%p", Hardware);
 
@@ -14064,6 +18468,10 @@ gckHARDWARE_QueryFrequency(
             ));
     }
 
+    gcmkONERROR(gckHARDWARE_QueryPowerManagementState(
+        Hardware, &statesStored
+        ));
+
     gcmkONERROR(gckHARDWARE_SetPowerManagementState(
         Hardware, gcvPOWER_ON_AUTO
         ));
@@ -14089,15 +18497,32 @@ gckHARDWARE_QueryFrequency(
         Hardware->shClk = shClk;
     }
 
-    /* Query whether the hardware is idle. */
-    gcmkONERROR(gckHARDWARE_QueryIdle(Hardware, &idle));
-
     /* Release the global semaphore. */
     gcmkONERROR(gckOS_ReleaseSemaphore(
         Hardware->os, Hardware->globalSemaphore
         ));
+
     globalAcquired = gcvFALSE;
 
+    switch(statesStored)
+    {
+    case gcvPOWER_OFF:
+        state = gcvPOWER_OFF_BROADCAST;
+        break;
+    case gcvPOWER_IDLE:
+        state = gcvPOWER_IDLE_BROADCAST;
+        break;
+    case gcvPOWER_SUSPEND:
+        state = gcvPOWER_SUSPEND_BROADCAST;
+        break;
+    case gcvPOWER_ON:
+        state = gcvPOWER_ON_AUTO;
+        break;
+    default:
+        state = statesStored;
+        break;
+    }
+
     if (powerManagement)
     {
         gcmkONERROR(gckHARDWARE_SetPowerManagement(
@@ -14105,13 +18530,9 @@ gckHARDWARE_QueryFrequency(
             ));
     }
 
-    if (idle)
-    {
-        /* Inform the system of idle GPU. */
-        gcmkONERROR(gckOS_Broadcast(Hardware->os,
-                                    Hardware,
-                                    gcvBROADCAST_GPU_IDLE));
-    }
+    gcmkONERROR(gckHARDWARE_SetPowerManagementState(
+        Hardware, state
+        ));
 
     gcmkFOOTER_NO();
 
@@ -14130,3 +18551,5 @@ OnError:
 
     return status;
 }
+
+
index c1de85f..5c08ace 100644 (file)
@@ -226,6 +226,7 @@ struct _gckHARDWARE
     gctSIZE_T                   mmuFuncBytes;
 
     gctPHYS_ADDR                auxFuncPhysical;
+    gctPHYS_ADDR                auxPhysHandle;
     gctPOINTER                  auxFuncLogical;
     gctUINT32                   auxFuncAddress;
     gctSIZE_T                   auxFuncBytes;
index cfd618c..f510b30 100644 (file)
@@ -104,10 +104,15 @@ gckVGCOMMAND_InitializeInfo(
 
         /* Determine command alignment address mask. */
         Command->info.addressMask = ((((gctUINT32) (Command->info.addressAlignment - 1)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) ((gctUINT32) (0 ) & ((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0)));
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) ((gctUINT32) (0 ) & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
 
         /* Query the number of bytes needed by the STATE command. */
         gcmkERR_BREAK(gckVGCOMMAND_StateCommand(
@@ -238,25 +243,45 @@ gckVGCOMMAND_StateCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:0) - (0 ? 11:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ?
- 11:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 11:0) - (0 ?
- 11:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ?
- 11:0)))
+ 11:0) - (0 ?
+ 11:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:0) - (0 ?
+ 11:0) + 1))))))) << (0 ?
+ 11:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ?
+ 11:0) - (0 ?
+ 11:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ? 11:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 27:16) - (0 ? 27:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 27:16) - (0 ?
- 27:16) + 1))))))) << (0 ? 27:16))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ?
- 27:16) - (0 ? 27:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 27:16) - (0 ?
- 27:16) + 1))))))) << (0 ? 27:16)))
+ 27:16) - (0 ?
+ 27:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 27:16) - (0 ?
+ 27:16) + 1))))))) << (0 ?
+ 27:16))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ?
+ 27:16) - (0 ?
+ 27:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 27:16) - (0 ? 27:16) + 1))))))) << (0 ? 27:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 13:12) - (0 ? 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ?
- 13:12) + 1))))))) << (0 ? 13:12))) | (((gctUINT32) ((gctUINT32) (Pipe) & ((gctUINT32) ((((1 ?
- 13:12) - (0 ? 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ?
- 13:12) + 1))))))) << (0 ? 13:12)))
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1))))))) << (0 ?
+ 13:12))) | (((gctUINT32) ((gctUINT32) (Pipe) & ((gctUINT32) ((((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)))
                 );
         }
 
@@ -280,20 +305,35 @@ gckVGCOMMAND_StateCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (Address) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 );
         }
 
@@ -369,31 +409,52 @@ gckVGCOMMAND_RestartCommand(
 
             /* Determine Begin/End flag. */
             beginEndMark = (FetchCount > 0)
-                ? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 24:24) - (0 ? 24:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 24:24) - (0 ?
- 24:24) + 1))))))) << (0 ? 24:24))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 24:24) - (0 ? 24:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 24:24) - (0 ?
- 24:24) + 1))))))) << (0 ? 24:24)))
+                ?
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 24:24) - (0 ?
+ 24:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 24:24) - (0 ?
+ 24:24) + 1))))))) << (0 ?
+ 24:24))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 24:24) - (0 ?
+ 24:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24)))
                 : ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 24:24) - (0 ? 24:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 24:24) - (0 ?
- 24:24) + 1))))))) << (0 ? 24:24))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 24:24) - (0 ? 24:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 24:24) - (0 ?
- 24:24) + 1))))))) << (0 ? 24:24)));
+ 24:24) - (0 ?
+ 24:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 24:24) - (0 ?
+ 24:24) + 1))))))) << (0 ?
+ 24:24))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 24:24) - (0 ?
+ 24:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ? 24:24)));
 
             /* Append RESTART. */
             gckOS_WriteMemory(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x9 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x9 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:0) - (0 ? 20:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ?
+ 20:0) - (0 ?
+ 20:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:0) - (0 ?
+ 20:0) + 1))))))) << (0 ?
  20:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ?
- 20:0) - (0 ? 20:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ?
- 20:0)))
+ 20:0) - (0 ?
+ 20:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0)))
                 | beginEndMark
                 );
 
@@ -484,15 +545,25 @@ gckVGCOMMAND_FetchCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x5 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x5 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:0) - (0 ? 20:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ?
+ 20:0) - (0 ?
+ 20:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:0) - (0 ?
+ 20:0) + 1))))))) << (0 ?
  20:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ?
- 20:0) - (0 ? 20:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ?
- 20:0)))
+ 20:0) - (0 ?
+ 20:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0)))
                 );
 
             gckOS_WriteMemory(
@@ -522,15 +593,25 @@ gckVGCOMMAND_FetchCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 );
 
             gckOS_WriteMemory(
@@ -614,15 +695,25 @@ gckVGCOMMAND_CallCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x6 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x6 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:0) - (0 ? 20:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ?
+ 20:0) - (0 ?
+ 20:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:0) - (0 ?
+ 20:0) + 1))))))) << (0 ?
  20:0))) | (((gctUINT32) ((gctUINT32) (FetchCount) & ((gctUINT32) ((((1 ?
- 20:0) - (0 ? 20:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ?
- 20:0)))
+ 20:0) - (0 ?
+ 20:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:0) - (0 ? 20:0) + 1))))))) << (0 ? 20:0)))
                 );
 
             gckOS_WriteMemory(
@@ -700,10 +791,15 @@ gckVGCOMMAND_ReturnCommand(
                 Command->os,
                 &buffer[0],
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x7 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x7 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 );
         }
 
@@ -868,25 +964,45 @@ gckVGCOMMAND_EventCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:0) - (0 ? 11:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ?
- 11:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 11:0) - (0 ?
- 11:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ?
- 11:0)))
+ 11:0) - (0 ?
+ 11:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 11:0) - (0 ?
+ 11:0) + 1))))))) << (0 ?
+ 11:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ?
+ 11:0) - (0 ?
+ 11:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 11:0) - (0 ? 11:0) + 1))))))) << (0 ? 11:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 27:16) - (0 ? 27:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 27:16) - (0 ?
- 27:16) + 1))))))) << (0 ? 27:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 27:16) - (0 ? 27:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 27:16) - (0 ?
- 27:16) + 1))))))) << (0 ? 27:16)))
+ 27:16) - (0 ?
+ 27:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 27:16) - (0 ?
+ 27:16) + 1))))))) << (0 ?
+ 27:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 27:16) - (0 ?
+ 27:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 27:16) - (0 ? 27:16) + 1))))))) << (0 ? 27:16)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 13:12) - (0 ? 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ?
- 13:12) + 1))))))) << (0 ? 13:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 13:12) - (0 ? 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ?
- 13:12) + 1))))))) << (0 ? 13:12)))
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1))))))) << (0 ?
+ 13:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 13:12) - (0 ?
+ 13:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)))
                 );
 
             /* Determine chip version. */
@@ -904,15 +1020,25 @@ gckVGCOMMAND_EventCommand(
 
                 buffer[1]
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
  4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)))
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:8) - (0 ?
+ 12:8) + 1))))))) << (0 ?
  12:8))) | (((gctUINT32) ((gctUINT32) (eventSource) & ((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
- 12:8)));
+ 12:8) - (0 ?
+ 12:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
             }
             else
             {
@@ -929,20 +1055,35 @@ gckVGCOMMAND_EventCommand(
 
                 buffer[1]
                     = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
  4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)))
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
  5:5))) | (((gctUINT32) ((gctUINT32) (eventFromFE) & ((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5)))
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
  6:6))) | (((gctUINT32) ((gctUINT32) (eventFromPE) & ((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6)));
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
             }
         }
 
@@ -977,20 +1118,35 @@ gckVGCOMMAND_EventCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 );
 
             /* Determine event source. */
@@ -1000,13 +1156,24 @@ gckVGCOMMAND_EventCommand(
                     Command->os,
                     &buffer[1],
                       ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
  4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)))
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
- 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1))))))) << (0 ?
+ 5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 5:5) - (0 ?
+ 5:5) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
                     );
             }
@@ -1016,13 +1183,24 @@ gckVGCOMMAND_EventCommand(
                     Command->os,
                     &buffer[1],
                       ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
  4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)))
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                     | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)))
                     );
             }
@@ -1099,15 +1277,25 @@ gckVGCOMMAND_EndCommand(
                 Command->os,
                 &buffer[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
- 31:28) + 1))))))) << (0 ? 31:28)))
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ?
+ 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ?
+ 31:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
  4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)))
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 );
         }
 
@@ -1134,33 +1322,59 @@ gckVGCOMMAND_EndCommand(
                 Command->os,
                 &memory[0],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
                 );
 
             gckOS_WriteMemory(
                 Command->os,
                 &memory[1],
                   ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:0) - (0 ?
+ 4:0) + 1))))))) << (0 ?
  4:0))) | (((gctUINT32) ((gctUINT32) (InterruptId) & ((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
- 4:0)))
+ 4:0) - (0 ?
+ 4:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
- 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 6:6) - (0 ?
+ 6:6) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)))
                 );
 
@@ -1169,10 +1383,15 @@ gckVGCOMMAND_EndCommand(
                 Command->os,
                 &memory[2],
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
                 );
         }
 
index bcfd8da..3b96bc0 100644 (file)
@@ -110,10 +110,15 @@ _ResetGPU(
 
         /* Isolate the GPU. */
         control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
                                           gcvCORE_VG,
@@ -125,10 +130,15 @@ _ResetGPU(
                                           gcvCORE_VG,
                                           0x00000,
                                           ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12)))));
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ?
+ 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
 
         /* Wait for reset. */
         gcmkONERROR(gckOS_Delay(Os, 1));
@@ -138,17 +148,27 @@ _ResetGPU(
                                           gcvCORE_VG,
                                           0x00000,
                                           ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
- 12:12) + 1))))))) << (0 ? 12:12)))));
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ?
+ 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ?
+ 12:12) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ? 12:12)))));
 
         /* Reset GPU isolation. */
         control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
- 19:19) + 1))))))) << (0 ? 19:19)));
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ?
+ 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ?
+ 19:19) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ? 19:19)));
 
         gcmkONERROR(gckOS_WriteRegisterEx(Os,
                                           gcvCORE_VG,
@@ -213,10 +233,15 @@ _IdentifyHardware(
         gcmkERR_BREAK(gckOS_ReadRegisterEx(Os, gcvCORE_VG, 0x00018, &chipIdentity));
 
         /* Special case for older graphic cores. */
-        if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
+        if (((((gctUINT32) (chipIdentity)) >> (0 ?
+ 31:24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
         {
             *ChipModel    = gcv500;
             *ChipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
@@ -410,20 +435,35 @@ gckVGHARDWARE_Construct(
 
         /* Determine whether FE 2.0 is present. */
         hardware->fe20 = ((((gctUINT32) (hardware->chipFeatures)) >> (0 ?
- 28:28) & ((gctUINT32) ((((1 ? 28:28) - (0 ? 28:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- 28:28) - (0 ? 28:28) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 28:28) - (0 ?
+ 28:28) & ((gctUINT32) ((((1 ?
+ 28:28) - (0 ?
+ 28:28) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 28:28) - (0 ?
+ 28:28) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ?
+ 28:28) - (0 ?
  28:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 28:28) - (0 ? 28:28) + 1)))))));
 
         /* Determine whether VG 2.0 is present. */
         hardware->vg20 = ((((gctUINT32) (hardware->chipMinorFeatures)) >> (0 ?
- 13:13) & ((gctUINT32) ((((1 ? 13:13) - (0 ? 13:13) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- 13:13) - (0 ? 13:13) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 13:13) - (0 ?
+ 13:13) & ((gctUINT32) ((((1 ?
+ 13:13) - (0 ?
+ 13:13) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 13:13) - (0 ?
+ 13:13) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ?
+ 13:13) - (0 ?
  13:13) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:13) - (0 ? 13:13) + 1)))))));
 
         /* Determine whether VG 2.1 is present. */
         hardware->vg21 = ((((gctUINT32) (hardware->chipMinorFeatures)) >> (0 ?
- 18:18) & ((gctUINT32) ((((1 ? 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
- 18:18) - (0 ? 18:18) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ? 18:18) - (0 ?
+ 18:18) & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 18:18) - (0 ?
+ 18:18) + 1)))))) == (0x1  & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ?
  18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ? 18:18) + 1)))))));
 
         /* Determine whether fc is present. */
@@ -701,10 +741,15 @@ gckVGHARDWARE_QueryChipIdentity(
         if (Hardware->fc)
         {
             features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
  0:0))) | (((gctUINT32) ((gctUINT32) (Hardware->options.allowFastClear) & ((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0)));
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
         }
 
         /* Mark 2D pipe as available for GC500.0 since it did not have this *\
@@ -714,8 +759,14 @@ gckVGHARDWARE_QueryChipIdentity(
         )
         {
             features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
         }
 
@@ -724,8 +775,14 @@ gckVGHARDWARE_QueryChipIdentity(
         if (Hardware->chipModel == gcv300)
         {
             features = ((((gctUINT32) (features)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
- 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 9:9) - (0 ? 9:9) + 1) == 32) ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1))))))) << (0 ?
+ 9:9))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 9:9) - (0 ?
+ 9:9) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ? 9:9)));
         }
 
@@ -986,10 +1043,15 @@ gckVGHARDWARE_SplitMemory(
 
     /* Return offset of address. */
     *Offset = ((((gctUINT32) (Address)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0)));
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
 
     gcmkFOOTER_NO();
     /* Success. */
@@ -1077,15 +1139,25 @@ gckVGHARDWARE_Execute(
                 gcvCORE_VG,
                 0x00658,
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) |
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))) |
                 ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (Count) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
                 ));
         }
 
@@ -1235,8 +1307,14 @@ gckVGHARDWARE_ConvertLogical(
 
         /* Return hardware specific address. */
         *Address = ((((gctUINT32) (address)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
 
         /* Success. */
@@ -1293,8 +1371,14 @@ gceSTATUS gckVGHARDWARE_QuerySystemMemory(
     {
         /* Set system memory base address. */
         *SystemBaseAddress = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
     }
 
@@ -1417,44 +1501,89 @@ gceSTATUS gckVGHARDWARE_FlushMMU(
             Hardware->os,
             &buffer[0],
               ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)))
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)))
             );
 
         gckOS_WriteMemory(
             Hardware->os,
             &buffer[1],
               ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
- 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1))))))) << (0 ?
+ 1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 1:1) - (0 ?
+ 1:1) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
- 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1))))))) << (0 ?
+ 2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 2:2) - (0 ?
+ 2:2) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
- 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1))))))) << (0 ?
+ 3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 3:3) - (0 ?
+ 3:3) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
- 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1))))))) << (0 ?
+ 4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 4:4) - (0 ?
+ 4:4) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)))
             );
 
@@ -1513,8 +1642,14 @@ gceSTATUS gckVGHARDWARE_BuildVirtualAddress(
 
     /* Set virtual type. */
     address = ((((gctUINT32) (address)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
- 1:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1))))))) << (0 ?
+ 1:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 1:0) - (0 ?
+ 1:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
 
     /* Set the result. */
@@ -1570,18 +1705,29 @@ gckVGHARDWARE_SetFastClear(
                     &debug));
 
         debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
- 20:20) + 1))))))) << (0 ? 20:20)));
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ?
+ 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
+ 20:20) - (0 ?
+ 20:20) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ? 20:20)));
 
 #ifdef AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION
         debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1))))))) << (0 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1))))))) << (0 ?
  AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
- AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ? AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1))))))) << (0 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) - (0 ?
+ AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION) + 1))))))) << (0 ?
  AQ_MEMORY_DEBUG_DISABLE_Z_COMPRESSION)));
 #endif
 
index 13db5d5..5260aef 100644 (file)
@@ -686,7 +686,7 @@ gckKERNEL_Construct(
     kernel->profileCleanRegister = gcvTRUE;
 #endif
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
+#if gcdLINUX_SYNC_FILE
     gcmkONERROR(gckOS_CreateSyncTimeline(Os, Core, &kernel->timeline));
 #endif
 
@@ -932,7 +932,7 @@ gckKERNEL_Destroy(
     }
 #endif
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
+#if gcdLINUX_SYNC_FILE
     if (Kernel->timeline)
     {
         gcmkVERIFY_OK(gckOS_DestroySyncTimeline(Kernel->os, Kernel->timeline));
@@ -2065,6 +2065,28 @@ gckKERNEL_WaitFence(
             fence = asyncCommand->fence;
         }
 
+#if USE_KERNEL_VIRTUAL_BUFFERS
+        if (Kernel->virtualCommandBuffer)
+        {
+            gckVIRTUAL_COMMAND_BUFFER_PTR commandBuffer = (gckVIRTUAL_COMMAND_BUFFER_PTR) fence->physical;
+
+            fence->physHandle = commandBuffer->virtualBuffer.physical;
+        }
+        else
+#endif
+        {
+            fence->physHandle = fence->physical;
+        }
+
+        gcmkONERROR(gckOS_CacheInvalidate(
+            Kernel->os,
+            0,
+            fence->physHandle,
+            0,
+            fence->logical,
+            8
+            ));
+
         if (sync->commitStamp <= *(gctUINT64_PTR)fence->logical)
         {
             continue;
@@ -3289,7 +3311,7 @@ gckKERNEL_Dispatch(
         gcmRELEASE_NAME(Interface->u.FreeVirtualCommandBuffer.physical);
         break;
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
+#if gcdLINUX_SYNC_FILE
     case gcvHAL_CREATE_NATIVE_FENCE:
         {
             gctINT fenceFD;
@@ -4651,7 +4673,7 @@ gckKERNEL_AllocateVirtualMemory(
     gctSIZE_T bytes                      = *Bytes;
     gckVIRTUAL_BUFFER_PTR buffer         = gcvNULL;
     gckMMU mmu                           = gcvNULL;
-    gctUINT32 flag = gcvALLOC_FLAG_NON_CONTIGUOUS;
+    gctUINT32 allocFlag                  = 0;
 
     gcmkHEADER_ARG("Os=0x%X InUserSpace=%d *Bytes=%lu",
         os, InUserSpace, gcmOPT_VALUE(Bytes));
@@ -4678,12 +4700,16 @@ gckKERNEL_AllocateVirtualMemory(
 
     buffer->bytes = bytes;
 
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+    allocFlag = gcvALLOC_FLAG_CACHEABLE;
+#endif
+
     if (NonPaged)
     {
         gcmkONERROR(gckOS_AllocateNonPagedMemory(
             os,
             InUserSpace,
-            gcvALLOC_FLAG_CONTIGUOUS,
+            allocFlag | gcvALLOC_FLAG_CONTIGUOUS,
             &bytes,
             &buffer->physical,
             &logical
@@ -4691,11 +4717,13 @@ gckKERNEL_AllocateVirtualMemory(
     }
     else
     {
-        gcmkONERROR(gckOS_AllocatePagedMemoryEx(os,
-            flag,
+        gcmkONERROR(gckOS_AllocatePagedMemoryEx(
+            os,
+            allocFlag | gcvALLOC_FLAG_NON_CONTIGUOUS,
             bytes,
             gcvNULL,
-            &buffer->physical));
+            &buffer->physical
+            ));
     }
 
     if (NonPaged)
@@ -6011,10 +6039,16 @@ gckFENCE_Create(
     else
 #endif
     {
+        gctUINT32 allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
+
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+        allocFlag |= gcvALLOC_FLAG_CACHEABLE;
+#endif
+
         gcmkONERROR(gckOS_AllocateNonPagedMemory(
             Os,
             gcvFALSE,
-            gcvALLOC_FLAG_CONTIGUOUS,
+            allocFlag,
             &pageSize,
             &fence->physical,
             &fence->logical
index 63a1089..1aad1ef 100644 (file)
@@ -61,6 +61,8 @@
 #include "gc_hal_driver.h"
 #include "gc_hal_kernel_mutex.h"
 #include "gc_hal_metadata.h"
+#include "gc_hal_kernel_buffer.h"
+
 
 #if gcdENABLE_VG
 #include "gc_hal_kernel_vg.h"
@@ -620,7 +622,7 @@ struct _gckKERNEL
     gckDVFS                     dvfs;
 #endif
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
+#if gcdLINUX_SYNC_FILE
     gctHANDLE                   timeline;
 #endif
 
@@ -688,6 +690,7 @@ typedef struct _gcsFENCE
 
     /* Fence location. */
     gctPHYS_ADDR                physical;
+    gctPHYS_ADDR                physHandle;
     gctPOINTER                  logical;
     gctUINT32                   address;
 
@@ -758,6 +761,7 @@ struct _gckCOMMAND
     queues[gcdCOMMAND_QUEUES];
 
     gctPHYS_ADDR                virtualMemory;
+    gctPHYS_ADDR                physHandle;
     gctUINT32                   physical;
     gctPOINTER                  logical;
     gctUINT32                   address;
@@ -779,6 +783,7 @@ struct _gckCOMMAND
     gctPOINTER                  waitLogical;
     gctUINT32                   waitAddress;
     gctUINT32                   waitSize;
+    gctUINT32                   waitOffset;
 
     /* Command buffer alignment. */
     gctUINT32                   alignment;
@@ -816,6 +821,13 @@ struct _gckCOMMAND
     gckASYNC_COMMAND            asyncCommand;
 
     gctBOOL                     dummyDraw;
+
+    /* a copy in kernel space for current committing command buffer
+     * avoid occupyting stack space.
+     */
+    struct _gcoCMDBUF           _commandBufferObject;
+
+    struct _gcoCMDBUF           _nextCMDBUF;
 };
 
 typedef struct _gcsEVENT *      gcsEVENT_PTR;
@@ -939,7 +951,8 @@ gceSTATUS
 gckEVENT_Stop(
     IN gckEVENT Event,
     IN gctUINT32 ProcessID,
-    IN gctUINT32 Handle,
+    IN gctPHYS_ADDR Handle,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
     IN gctUINT32 Address,
     IN gctSIGNAL Signal,
@@ -1243,6 +1256,20 @@ gckVIDMEM_NODE_Allocate(
     IN gctUINT32 * Handle
     );
 
+gceSTATUS
+gckVIDMEM_NODE_LockCPU(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Handle,
+    OUT gctPOINTER * Logical
+    );
+
+gceSTATUS
+gckVIDMEM_NODE_UnlockCPU(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Handle,
+    OUT gctPOINTER Logical
+    );
+
 gceSTATUS
 gckVIDMEM_Node_Lock(
     IN gckKERNEL Kernel,
@@ -1434,6 +1461,21 @@ typedef struct _gcsASYNC_COMMAND
 }
 gcsASYNC_COMMAND;
 
+gceSTATUS
+gckOS_CreateKernelMapping(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Offset,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    );
+
+gceSTATUS
+gckOS_DestroyKernelMapping(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    );
 
 gceSTATUS
 gckOS_CreateKernelVirtualMapping(
index 2db8e4d..a5e81c2 100644 (file)
@@ -81,7 +81,7 @@
 **      gckCOMMAND Command
 **          gckCOMMAND object has been updated with a new command queue.
 */
-static gceSTATUS
+gceSTATUS
 _NewQueue(
     IN OUT gckCOMMAND Command,
     IN gctBOOL Stalled
@@ -140,7 +140,23 @@ _NewQueue(
     /* Update gckCOMMAND object with new command queue. */
     Command->index         = newIndex;
     Command->newQueue      = gcvTRUE;
-    Command->virtualMemory = Command->queues[newIndex].physical;
+#if USE_KERNEL_VIRTUAL_BUFFERS
+    if (Command->kernel->virtualCommandBuffer)
+    {
+        gckVIRTUAL_COMMAND_BUFFER_PTR commandBuffer = gcvNULL;
+
+        Command->virtualMemory = Command->queues[newIndex].physical;
+
+        commandBuffer = (gckVIRTUAL_COMMAND_BUFFER_PTR) Command->virtualMemory;
+
+        Command->physHandle = commandBuffer->virtualBuffer.physical;
+    }
+    else
+#endif
+    {
+        Command->physHandle = Command->queues[newIndex].physical;
+    }
+
     Command->logical       = Command->queues[newIndex].logical;
     Command->address       = Command->queues[newIndex].address;
     Command->offset        = 0;
@@ -190,7 +206,7 @@ OnError:
     return status;
 }
 
-static gceSTATUS
+gceSTATUS
 _IncrementCommitAtom(
     IN gckCOMMAND Command,
     IN gctBOOL Increment
@@ -252,7 +268,7 @@ OnError:
 }
 
 #if gcdSECURE_USER
-static gceSTATUS
+gceSTATUS
 _ProcessHints(
     IN gckCOMMAND Command,
     IN gctUINT32 ProcessID,
@@ -378,7 +394,7 @@ OnError:
 #endif
 
 #if !gcdNULL_DRIVER
-static gceSTATUS
+gceSTATUS
 _FlushMMU(
     IN gckCOMMAND Command
     )
@@ -483,7 +499,7 @@ OnError:
 #endif
 }
 
-static gceSTATUS
+gceSTATUS
 _DummyDraw(
     IN gckCOMMAND Command
     )
@@ -592,7 +608,7 @@ _DumpBuffer(
     }
 }
 
-static void
+void
 _DumpKernelCommandBuffer(
     IN gckCOMMAND Command
     )
@@ -619,7 +635,7 @@ _DumpKernelCommandBuffer(
 }
 
 #if !gcdNULL_DRIVER
-static gceSTATUS
+gceSTATUS
 _HandlePatchList(
     IN gckCOMMAND Command,
     IN gcoCMDBUF CommandBuffer,
@@ -716,7 +732,7 @@ OnError:
     return status;
 }
 
-static gceSTATUS
+gceSTATUS
 _WaitForAsyncCommandStamp(
     IN gckCOMMAND Command,
     IN gctUINT64 Stamp
@@ -823,7 +839,7 @@ _ParseCMDBUFTail(
     }
 }
 
-static gceSTATUS
+gceSTATUS
 _GetCMDBUFEntry(
     IN gckCOMMAND Command,
     IN gcoCMDBUF CommandBuffer,
@@ -893,7 +909,7 @@ OnError:
 **  Link a list of command buffer together to make them atomic.
 **  Fence will be added in the last command buffer.
 */
-static gceSTATUS
+gceSTATUS
 _ProcessUserCommandBufferList(
     IN gckCOMMAND Command,
     IN gcoCMDBUF CommandBufferListHead,
@@ -903,9 +919,7 @@ _ProcessUserCommandBufferList(
     gceSTATUS           status;
     gctBOOL             needCopy;
 
-    struct _gcoCMDBUF   _commandBufferObject;
     gcoCMDBUF           currentCMDBUF;
-    struct _gcoCMDBUF   _nextCMDBUF;
     gcoCMDBUF           currentCMDBUFUser = CommandBufferListHead;
 
     gckOS_QueryNeedCopy(Command->os, 0, &needCopy);
@@ -914,7 +928,7 @@ _ProcessUserCommandBufferList(
     gcmkONERROR(gckKERNEL_OpenUserData(
         Command->kernel,
         needCopy,
-        &_commandBufferObject,
+        &Command->_commandBufferObject,
         currentCMDBUFUser,
         gcmSIZEOF(struct _gcoCMDBUF),
         (gctPOINTER *)&currentCMDBUF
@@ -941,7 +955,7 @@ _ProcessUserCommandBufferList(
         gcmkONERROR(gckKERNEL_OpenUserData(
             Command->kernel,
             needCopy,
-            &_nextCMDBUF,
+            &Command->_nextCMDBUF,
             nextCMDBUFUser,
             gcmSIZEOF(struct _gcoCMDBUF),
             (gctPOINTER *)&nextCMDBUF
@@ -1137,10 +1151,18 @@ gckCOMMAND_Construct(
         else
 #endif
         {
+            gctUINT32 allocFlag;
+
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+            allocFlag = gcvALLOC_FLAG_CACHEABLE | gcvALLOC_FLAG_CONTIGUOUS;
+#else
+            allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
+#endif
+
             gcmkONERROR(gckOS_AllocateNonPagedMemory(
                 os,
                 gcvFALSE,
-                gcvALLOC_FLAG_CONTIGUOUS,
+                allocFlag,
                 &pageSize,
                 &command->queues[i].physical,
                 &command->queues[i].logical
@@ -1571,18 +1593,17 @@ gckCOMMAND_Start(
     Command->waitLogical  = (gctUINT8_PTR) logical  + waitOffset;
     Command->waitPhysical =                physical + waitOffset;
     Command->waitAddress  =                address  + waitOffset;
+    Command->waitOffset   =                waitOffset;
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the cache for the wait/link. */
     gcmkONERROR(gckOS_CacheClean(
         Command->os,
-        Command->kernelProcessID,
-        gcvNULL,
-        physical,
+        0,
+        Command->physHandle,
+        Command->offset,
         logical,
         waitLinkBytes
         ));
-#endif
 
     /* Adjust offset. */
     Command->offset   += waitLinkBytes;
@@ -1669,7 +1690,8 @@ gckCOMMAND_Stop(
         /* Append the END EVENT command to trigger the signal. */
         gcmkONERROR(gckEVENT_Stop(Command->kernel->eventObj,
                                   Command->kernelProcessID,
-                                  Command->waitPhysical,
+                                  Command->physHandle,
+                                  Command->offset + Command->waitOffset,
                                   Command->waitLogical,
                                   Command->waitAddress,
                                   Command->endEventSignal,
@@ -1709,17 +1731,15 @@ gckCOMMAND_Stop(
                                                 Command->logical,
                                                 Command->offset));
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
         /* Flush the cache for the END. */
         gcmkONERROR(gckOS_CacheClean(
             Command->os,
-            Command->kernelProcessID,
-            gcvNULL,
-            (gctUINT32)Command->waitPhysical,
+            0,
+            Command->physHandle,
+            Command->offset + Command->waitOffset,
             Command->waitLogical,
             Command->waitSize
             ));
-#endif
 
         /* Wait for idle. */
         gcmkONERROR(gckHARDWARE_GetIdle(hardware, gcvTRUE, &idle));
@@ -1800,16 +1820,11 @@ gckCOMMAND_Commit(
     gctUINT32 linkBytes;
     gctSIZE_T bytes;
     gctUINT32 offset;
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    gctPHYS_ADDR entryPhysical;
-#endif
     gctPOINTER entryLogical;
     gctUINT32 entryAddress;
     gctUINT32 entryBytes;
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    gctPHYS_ADDR exitPhysical;
+    gctUINT32 exitOffset;
     gctPOINTER exitLogical;
-#endif
     gctUINT32 exitAddress;
     gctUINT32 exitBytes;
     gctUINT32 waitLinkPhysical;
@@ -1843,7 +1858,10 @@ gckCOMMAND_Commit(
     gctUINT64 asyncCommandStamp = 0;
     gcoCMDBUF lastCommandBuffer = gcvNULL;
     gctPOINTER pointer = gcvNULL;
+    gckKERNEL kernel = Command->kernel;
 
+    gctPHYS_ADDR contextPhysHandle = gcvNULL;
+    gctPHYS_ADDR physHandle = gcvNULL;
 #endif
 
     gcmkHEADER_ARG(
@@ -1854,14 +1872,6 @@ gckCOMMAND_Commit(
     /* Verify the arguments. */
     gcmkVERIFY_OBJECT(Command, gcvOBJ_COMMAND);
 
-#if !gcdNULL_DRIVER
-    gcmkONERROR(_ProcessUserCommandBufferList(
-        Command,
-        CommandBuffer,
-        &lastCommandBuffer
-        ));
-#endif
-
 #if gcdPROCESS_ADDRESS_SPACE
     gcmkONERROR(gckKERNEL_GetProcessMMU(Command->kernel, &mmu));
 
@@ -1876,6 +1886,14 @@ gckCOMMAND_Commit(
     gcmkONERROR(gckCOMMAND_EnterCommit(Command, gcvFALSE));
     commitEntered = gcvTRUE;
 
+#if !gcdNULL_DRIVER
+    gcmkONERROR(_ProcessUserCommandBufferList(
+        Command,
+        CommandBuffer,
+        &lastCommandBuffer
+        ));
+#endif
+
     /* Acquire the context switching mutex. */
     gcmkONERROR(gckOS_AcquireMutex(
         Command->os, Command->mutexContext, gcvINFINITE
@@ -1903,8 +1921,7 @@ gckCOMMAND_Commit(
 #else
     if (needCopy)
     {
-        gcmkONERROR(gckOS_Allocate(Command->os, gcmSIZEOF(struct _gcoCMDBUF), &pointer));
-        commandBufferObject = pointer;
+        commandBufferObject = &Command->_commandBufferObject;
 
         gcmkONERROR(gckOS_CopyFromUserData(
             Command->os,
@@ -1952,12 +1969,12 @@ gckCOMMAND_Commit(
         = (gctUINT8_PTR) gcmUINT64_TO_PTR(commandBufferObject->logical)
         +                commandBufferObject->startOffset;
 
+
     /* Get the hardware address. */
     if (Command->kernel->virtualCommandBuffer)
     {
-        gckKERNEL kernel = Command->kernel;
-
         virtualCommandBuffer = gcmNAME_TO_PTR(commandBufferObject->physical);
+        physHandle = virtualCommandBuffer->virtualBuffer.physical;
 
         if (virtualCommandBuffer == gcvNULL)
         {
@@ -1974,6 +1991,8 @@ gckCOMMAND_Commit(
     }
     else
     {
+        physHandle = gcmNAME_TO_PTR(commandBufferObject->physical);
+
         gcmkONERROR(gckHARDWARE_ConvertLogical(
             hardware,
             commandBufferLogical,
@@ -2090,9 +2109,6 @@ gckCOMMAND_Commit(
         }
 
         /* Compute the entry. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        entryPhysical = (gctUINT8_PTR) commandBufferPhysical + offset;
-#endif
         entryLogical  =                commandBufferLogical  + offset;
         entryAddress  =                commandBufferAddress  + offset;
         entryBytes    =                commandBufferSize     - offset;
@@ -2127,9 +2143,6 @@ gckCOMMAND_Commit(
             : Context->entryOffset3D;
 
         /* Compute the entry. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        entryPhysical = (gctUINT8_PTR) contextBuffer->physical + offset;
-#endif
         entryLogical  = (gctUINT8_PTR) contextBuffer->logical  + offset;
         entryAddress  =                contextBuffer->address  + offset;
         entryBytes    =                Context->bufferSize     - offset;
@@ -2168,17 +2181,28 @@ gckCOMMAND_Commit(
             &commandLinkHigh
             ));
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
+#if USE_KERNEL_VIRTUAL_BUFFERS
+        if (Command->kernel->virtualCommandBuffer)
+        {
+            gckVIRTUAL_COMMAND_BUFFER_PTR commandBuffer = (gckVIRTUAL_COMMAND_BUFFER_PTR) contextBuffer->physical;
+
+            contextPhysHandle = commandBuffer->virtualBuffer.physical;
+        }
+        else
+#endif
+        {
+            contextPhysHandle = contextBuffer->physical;
+        }
+
         /* Flush the context buffer cache. */
         gcmkONERROR(gckOS_CacheClean(
             Command->os,
-            Command->kernelProcessID,
-            gcvNULL,
-            (gctUINT32)entryPhysical,
+            0,
+            contextPhysHandle,
+            entryAddress - contextBuffer->address,
             entryLogical,
             entryBytes
             ));
-#endif
 
         /* Update the current context. */
         Command->currContext = Context;
@@ -2233,9 +2257,6 @@ gckCOMMAND_Commit(
         }
 
         /* Compute the entry. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        entryPhysical = (gctUINT8_PTR) commandBufferPhysical + offset;
-#endif
         entryLogical  =                commandBufferLogical  + offset;
         entryAddress  =                commandBufferAddress  + offset;
         entryBytes    =                commandBufferSize     - offset;
@@ -2256,10 +2277,8 @@ gckCOMMAND_Commit(
     if (Command->newQueue)
     {
         /* New command queue, jump to the beginning of it. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        exitPhysical = Command->physical;
+        exitOffset   = 0;
         exitLogical  = Command->logical;
-#endif
         exitAddress  = Command->address;
         exitBytes    = Command->offset + waitLinkBytes;
     }
@@ -2267,10 +2286,8 @@ gckCOMMAND_Commit(
     {
         /* Still within the preexisting command queue, jump to the new
            WAIT/LINK command sequence. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        exitPhysical = waitLinkPhysical;
+        exitOffset   = offset;
         exitLogical  = waitLinkLogical;
-#endif
         exitAddress  = waitLinkAddress;
         exitBytes    = waitLinkBytes;
     }
@@ -2288,17 +2305,15 @@ gckCOMMAND_Commit(
         &waitSize
         ));
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the command queue cache. */
     gcmkONERROR(gckOS_CacheClean(
         Command->os,
-        Command->kernelProcessID,
-        gcvNULL,
-        (gctUINT32)exitPhysical,
+        0,
+        Command->physHandle,
+        exitOffset,
         exitLogical,
         exitBytes
         ));
-#endif
 
     /* Determine the location of the TAIL in the command buffer. */
     commandBufferTail
@@ -2366,17 +2381,15 @@ gckCOMMAND_Commit(
     }
 #endif
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the command buffer cache. */
     gcmkONERROR(gckOS_CacheClean(
         Command->os,
         ProcessID,
-        gcvNULL,
-        (gctUINT32)commandBufferPhysical,
+        physHandle,
+        commandBufferObject->startOffset,
         commandBufferLogical,
         commandBufferSize
         ));
-#endif
 
 #if gcdRECORD_COMMAND
     gckRECORDER_Record(
@@ -2451,17 +2464,15 @@ gckCOMMAND_Commit(
     }
 #endif
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the cache for the link. */
     gcmkONERROR(gckOS_CacheClean(
         Command->os,
-        Command->kernelProcessID,
-        gcvNULL,
-        (gctUINT32)Command->waitPhysical,
+        0,
+        Command->physHandle,
+        Command->offset + waitOffset,
         Command->waitLogical,
         Command->waitSize
         ));
-#endif
 
     gcmkDUMPCOMMAND(
         Command->os,
@@ -2587,10 +2598,6 @@ gckCOMMAND_Commit(
 
         commandBufferMapped = gcvFALSE;
     }
-    else if (needCopy)
-    {
-        gcmkONERROR(gckOS_Free(Command->os, commandBufferObject));
-    }
 
     /* Return status. */
     gcmkFOOTER();
@@ -2630,10 +2637,6 @@ OnError:
             commandBufferObject
             ));
     }
-    else if (needCopy)
-    {
-        gcmkVERIFY_OK(gckOS_Free(Command->os, commandBufferObject));
-    }
 
     /* Return status. */
     gcmkFOOTER();
@@ -2779,9 +2782,7 @@ gckCOMMAND_Execute(
 
     gctUINT32 linkLow, linkHigh;
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    gctPHYS_ADDR execPhysical;
-#endif
+    gctUINT32 execOffset;
     gctPOINTER execLogical;
     gctUINT32 execAddress;
     gctUINT32 execBytes;
@@ -2823,9 +2824,7 @@ gckCOMMAND_Execute(
     if (Command->newQueue)
     {
         /* New command queue, jump to the beginning of it. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        execPhysical = Command->physical;
-#endif
+        execOffset   = 0;
         execLogical  = Command->logical;
         execAddress  = Command->address;
         execBytes    = waitLinkOffset + waitLinkBytes;
@@ -2834,25 +2833,21 @@ gckCOMMAND_Execute(
     {
         /* Still within the preexisting command queue, jump directly to the
            reserved area. */
-#if gcdNONPAGED_MEMORY_CACHEABLE
-        execPhysical = (gctUINT8 *) Command->physical + Command->offset;
-#endif
+        execOffset   = Command->offset;
         execLogical  = (gctUINT8 *) Command->logical  + Command->offset;
         execAddress  =              Command->address  + Command->offset;
         execBytes    = RequestedBytes + waitLinkBytes;
     }
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the cache. */
     gcmkONERROR(gckOS_CacheClean(
         Command->os,
-        Command->kernelProcessID,
-        gcvNULL,
-        (gctUINT32)execPhysical,
+        0,
+        Command->physHandle,
+        execOffset,
         execLogical,
         execBytes
         ));
-#endif
 
     /* Convert the last WAIT into a LINK. */
     gcmkONERROR(gckHARDWARE_Link(
@@ -2865,17 +2860,15 @@ gckCOMMAND_Execute(
         &linkHigh
         ));
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the cache. */
     gcmkONERROR(gckOS_CacheClean(
         Command->os,
-        Command->kernelProcessID,
-        gcvNULL,
-        (gctUINT32)Command->waitPhysical,
+        0,
+        Command->physHandle,
+        waitLinkOffset + waitOffset,
         Command->waitLogical,
         Command->waitSize
         ));
-#endif
 
 #if gcdLINK_QUEUE_SIZE
     if (Command->kernel->stuckDump >= gcvSTUCK_DUMP_ALL_COMMAND)
index 77d2750..78ead5d 100644 (file)
@@ -1835,8 +1835,13 @@ extern volatile unsigned g_nQnxInIsrs;
     atomic_sub(&g_nQnxInIsrs, 1); \
 }
 
-#else
+#elif defined(__VXWORKS__)
+#define gcmDEBUGPRINT(ArgumentSize, CopyMessage, Message) \
+{ \
+    printf(Message); \
+}
 
+#else
 #define gcmDEBUGPRINT(ArgumentSize, CopyMessage, Message) \
 { \
     gctARGUMENTS __arguments__; \
index fb3a994..67400d0 100644 (file)
@@ -2767,6 +2767,9 @@ OnError:
 **      gctPHYS_ADDR Handle
 **          Physical address handle.  If gcvNULL it is video memory.
 **
+**      gctSIZE_T Offset,
+**          Offset to this memory block.
+**
 **      gctPOINTER Logical
 **          Logical address to flush.
 **
@@ -2781,7 +2784,8 @@ gceSTATUS
 gckEVENT_Stop(
     IN gckEVENT Event,
     IN gctUINT32 ProcessID,
-    IN gctUINT32 Handle,
+    IN gctPHYS_ADDR Handle,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
     IN gctUINT32 Address,
     IN gctSIGNAL Signal,
@@ -2840,17 +2844,15 @@ gckEVENT_Stop(
     }
 #endif
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
     /* Flush the cache for the END. */
     gcmkONERROR(gckOS_CacheClean(
         Event->os,
-        ProcessID,
-        gcvNULL,
-        (gctUINT32)Handle,
+        0,
+        Handle,
+        Offset,
         Logical,
         *waitSize
         ));
-#endif
 
     /* Wait for the signal. */
     gcmkONERROR(gckOS_WaitSignal(Event->os, Signal, gcvFALSE, gcvINFINITE));
index 95f4b56..dd2a58a 100644 (file)
@@ -887,6 +887,8 @@ _FillFlatMapping(
         /* Need allocate a new chunk of stlbs */
         if (totalNewStlbs)
         {
+            gctUINT32 allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
+
             gcmkONERROR(
                 gckOS_Allocate(Mmu->os,
                                sizeof(struct _gcsMMU_STLB_CHUNK),
@@ -899,12 +901,19 @@ _FillFlatMapping(
             newStlbChunk->size = gcdMMU_STLB_64K_SIZE * newStlbChunk->mtlbEntryNum;
             newStlbChunk->pageCount = 0;
             newStlbChunk->mtlbIndex = firstMtlbEntry;
+
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+            allocFlag |= gcvALLOC_FLAG_CACHEABLE;
+#endif
+
             gcmkONERROR(
-                    gckOS_AllocateContiguous(Mmu->os,
-                                             gcvFALSE,
-                                             &newStlbChunk->size,
-                                             &newStlbChunk->physical,
-                                             (gctPOINTER)&newStlbChunk->logical));
+                    gckOS_AllocateNonPagedMemory(Mmu->os,
+                                                 gcvFALSE,
+                                                 allocFlag,
+                                                 &newStlbChunk->size,
+                                                 &newStlbChunk->physical,
+                                                 (gctPOINTER)&newStlbChunk->logical));
+
             gcmkONERROR(gckOS_ZeroMemory(newStlbChunk->logical, newStlbChunk->size));
 
             gcmkONERROR(gckOS_GetPhysicalAddress(
@@ -1015,6 +1024,16 @@ _FillFlatMapping(
                 curStlbChunk->pageCount++;
             }
 
+            /* Flush STLB table. */
+            gcmkONERROR(gckOS_CacheClean(
+                Mmu->os,
+                0,
+                curStlbChunk->physical,
+                0,
+                curStlbChunk->logical,
+                curStlbChunk->size
+                ));
+
             sStart = 0;
             ++mStart;
         }
@@ -1122,6 +1141,7 @@ _SetupDynamicSpace(
     gcsADDRESS_AREA_PTR area = &Mmu->area[0];
     gcsADDRESS_AREA_PTR areaSecure = &Mmu->area[gcvADDRESS_AREA_SECURE];
     gctUINT32 secureAreaSize = 0;
+    gctUINT32 allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
 
     /* Find all the free address space. */
     gcmkONERROR(_CollectFreeSpace(Mmu, &nodeArray, &nodeArraySize));
@@ -1161,9 +1181,14 @@ _SetupDynamicSpace(
     /* Setup normal address area. */
     gcmkONERROR(_SetupAddressArea(Mmu->os, area, numEntries));
 
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+    allocFlag |= gcvALLOC_FLAG_CACHEABLE;
+#endif
+
     /* Construct Slave TLB. */
-    gcmkONERROR(gckOS_AllocateContiguous(Mmu->os,
+    gcmkONERROR(gckOS_AllocateNonPagedMemory(Mmu->os,
                 gcvFALSE,
+                allocFlag,
                 &area->pageTableSize,
                 &area->pageTablePhysical,
                 (gctPOINTER)&area->pageTableLogical));
@@ -1322,6 +1347,7 @@ _Construct(
     gctUINT32 gpuAddress;
     gctPHYS_ADDR_T gpuPhysical;
     gcsADDRESS_AREA_PTR area = gcvNULL;
+    gctUINT32 allocFlag = gcvALLOC_FLAG_CONTIGUOUS;
 
     gcmkHEADER_ARG("Kernel=0x%x MmuSize=%lu", Kernel, MmuSize);
 
@@ -1363,7 +1389,6 @@ _Construct(
     /* Create the page table mutex. */
     gcmkONERROR(gckOS_CreateMutex(os, &mmu->pageTableMutex));
 
-
     if (hardware->mmuVersion == 0)
     {
         area->pageTableSize = MmuSize;
@@ -1375,9 +1400,14 @@ _Construct(
 
         area->mapLogical = pointer;
 
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+        allocFlag |= gcvALLOC_FLAG_CACHEABLE;
+#endif
+
         /* Construct page table read by GPU. */
-        gcmkONERROR(gckOS_AllocateContiguous(mmu->os,
+        gcmkONERROR(gckOS_AllocateNonPagedMemory(mmu->os,
                     gcvFALSE,
+                    allocFlag,
                     &area->pageTableSize,
                     &area->pageTablePhysical,
                     (gctPOINTER)&area->pageTableLogical));
@@ -1414,12 +1444,17 @@ _Construct(
         /* Allocate the 4K mode MTLB table. */
         mmu->mtlbSize = gcdMMU_MTLB_SIZE;
 
+#if gcdENABLE_CACHEABLE_COMMAND_BUFFER
+        allocFlag |= gcvALLOC_FLAG_CACHEABLE;
+#endif
+
         gcmkONERROR(
-            gckOS_AllocateContiguous(os,
-                                     gcvFALSE,
-                                     &mmu->mtlbSize,
-                                     &mmu->mtlbPhysical,
-                                     &pointer));
+            gckOS_AllocateNonPagedMemory(os,
+                                         gcvFALSE,
+                                         allocFlag,
+                                         &mmu->mtlbSize,
+                                         &mmu->mtlbPhysical,
+                                         &pointer));
 
         mmu->mtlbLogical = pointer;
 
@@ -1539,6 +1574,16 @@ _Construct(
 
         gcmkONERROR(_SetupDynamicSpace(mmu));
 #endif
+
+        /* Flush MTLB table. */
+        gcmkONERROR(gckOS_CacheClean(
+            os,
+            0,
+            mmu->mtlbPhysical,
+            0,
+            mmu->mtlbLogical,
+            mmu->mtlbSize
+            ));
     }
 
     mmu->safePageSize = 4096;
index d849cba..5c27cba 100644 (file)
@@ -1284,6 +1284,97 @@ OnError:
     return status;
 }
 
+/*map to kernel space*/
+gceSTATUS
+gckVIDMEM_NODE_LockCPU(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Handle,
+    OUT gctPOINTER * Logical
+    )
+{
+    gceSTATUS status = gcvSTATUS_FALSE;
+    gckVIDMEM_NODE ObjNode = gcvNULL;
+    gcuVIDMEM_NODE_PTR node = gcvNULL;
+    gctPOINTER logical = gcvNULL;
+    gctBOOL acquired = gcvFALSE;
+    gckOS os = Kernel->os;
+
+    gcmkONERROR(gckVIDMEM_HANDLE_LookupAndReference(Kernel, Handle, &ObjNode));
+    node = ObjNode->node;
+    gcmkONERROR(gckOS_AcquireMutex(os, ObjNode->mutex, gcvINFINITE));
+    acquired = gcvTRUE;
+    if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM){
+        gcmkONERROR(
+                    gckOS_CreateKernelMapping(os,
+                                              node->VidMem.memory->physical,
+                                              node->VidMem.offset,
+                                              node->VidMem.bytes,
+                                              &logical));
+    }else{
+        gcmkONERROR(
+                    gckOS_CreateKernelMapping(os,
+                                              node->Virtual.physical,
+                                              0,
+                                              node->Virtual.bytes,
+                                              &logical));
+    }
+    *Logical = logical;
+    gcmkONERROR(gckVIDMEM_NODE_Dereference(Kernel, ObjNode));
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, ObjNode->mutex));
+    return gcvSTATUS_OK;
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, ObjNode->mutex));
+    }
+
+    /* Return the status. */
+    return status;
+}
+
+gceSTATUS
+gckVIDMEM_NODE_UnlockCPU(
+    IN gckKERNEL Kernel,
+    IN gctUINT32 Handle,
+    OUT gctPOINTER Logical
+    )
+{
+    gceSTATUS status = gcvSTATUS_FALSE;
+    gckVIDMEM_NODE ObjNode = gcvNULL;
+    gcuVIDMEM_NODE_PTR node = gcvNULL;
+    gctBOOL acquired = gcvFALSE;
+    gckOS os = Kernel->os;
+
+    gcmkONERROR(gckVIDMEM_HANDLE_LookupAndReference(Kernel, Handle, &ObjNode));
+    node = ObjNode->node;
+    gcmkONERROR(gckOS_AcquireMutex(os, ObjNode->mutex, gcvINFINITE));
+    acquired = gcvTRUE;
+    if (node->VidMem.memory->object.type == gcvOBJ_VIDMEM){
+        gcmkONERROR(
+                    gckOS_DestroyKernelMapping(os,
+                                              node->VidMem.memory->physical,
+                                              Logical));
+    }else{
+        gcmkONERROR(
+                    gckOS_DestroyKernelMapping(os,
+                                              node->Virtual.physical,
+                                              Logical));
+    }
+    gcmkONERROR(gckVIDMEM_NODE_Dereference(Kernel, ObjNode));
+    gcmkVERIFY_OK(gckOS_ReleaseMutex(os, ObjNode->mutex));
+    return gcvSTATUS_OK;
+OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        gcmkVERIFY_OK(gckOS_ReleaseMutex(os, ObjNode->mutex));
+    }
+    /* Return the status. */
+    return status;
+}
+
+
 #if !gcdPROCESS_ADDRESS_SPACE
 /*******************************************************************************
 **
@@ -2904,7 +2995,12 @@ static struct dma_buf_ops _dmabuf_ops =
     .unmap_dma_buf = _dmabuf_unmap,
     .mmap = _dmabuf_mmap,
     .release = _dmabuf_release,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)
+    .map = _dmabuf_kmap,
+    .unmap = _dmabuf_kunmap,
+#  elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0)
+    .map_atomic = _dmabuf_kmap,
+    .unmap_atomic = _dmabuf_kunmap,
     .map = _dmabuf_kmap,
     .unmap = _dmabuf_kunmap,
 #  else
@@ -2947,7 +3043,8 @@ gckVIDMEM_NODE_Export(
         {
             physical = node->VidMem.memory->physical;
             bytes = node->VidMem.bytes;
-            bytes = bytes & (~(PAGE_SIZE -1));
+            /* Align export size. when allocate memory from VIDMEM, the actual node size may not same with aligned size. */
+            bytes = bytes & ~(PAGE_SIZE - 1);
         }
         else
         {
index bc81218..e3bac04 100644 (file)
@@ -53,7 +53,7 @@
 *****************************************************************************/
 
 
-/*Auto created on 2018-08-26 06:26*/
+/*Auto created on 2018-12-18 14:20*/
 #ifndef _gc_feature_database_h_
 #define _gc_feature_database_h_
 
@@ -66,26 +66,30 @@ typedef struct
     gctUINT32 ecoID;
     gctUINT32 customerID;
     gctUINT32 patchVersion;
+    const char *productName;
     gctUINT32 formalRelease;
-    gctUINT32 Streams;
     gctUINT32 TempRegisters;
     gctUINT32 ThreadCount;
-    gctUINT32 VertexCacheSize;
     gctUINT32 NumShaderCores;
-    gctUINT32 NumPixelPipes;
-    gctUINT32 VertexOutputBufferSize;
-    gctUINT32 BufferSize;
     gctUINT32 InstructionCount;
     gctUINT32 NumberOfConstants;
     gctUINT32 CoreCount;
-    gctUINT32 VaryingCount;
     gctUINT32 LocalStorageSize;
     gctUINT32 L1CacheSize;
     gctUINT32 InstructionMemorySize;
     gctUINT32 ShaderPCLength;
-    gctUINT32 NumResolvePipes;
     gctUINT32 USC_MAX_PAGES;
+    gctUINT32 NumPixelPipes;
+    gctUINT32 USC_CACHE_CONTROLLERS;
+    gctUINT32 USC_BANKS;
+    gctUINT32 Streams;
+    gctUINT32 VaryingCount;
+    gctUINT32 VertexOutputBufferSize;
+    gctUINT32 BufferSize;
+    gctUINT32 VertexCacheSize;
+    gctUINT32 NumResolvePipes;
     gctUINT32 RESULT_WINDOW_MAX_SIZE;
+    gctUINT32 ClusterAliveMask;
     gctUINT32 NNMadPerCore;
     gctUINT32 NNCoreCount;
     gctUINT32 NNCoreCount_INT8;
@@ -93,7 +97,6 @@ typedef struct
     gctUINT32 NNCoreCount_FLOAT16;
     gctUINT32 NNInputBufferDepth;
     gctUINT32 NNAccumBufferDepth;
-    gctUINT32 ClusterAliveMask;
     gctUINT32 TPEngine_PwlLUTCount;
     gctUINT32 TPEngine_PwlLUTSize;
     gctUINT32 VIP_SRAM_SIZE;
@@ -101,6 +104,14 @@ typedef struct
     gctUINT32 AXI_SRAM_SIZE;
     gctUINT32 NN_INIMAGE_OFFSET_BITS;
     gctUINT32 TP_REORDER_INIMAGE_SIZE;
+    gctUINT32 TPLite_CoreCount;
+    gctUINT32 NNFP16_XYDP_X;
+    gctUINT32 NNFP16_XYDP_Y;
+    gctUINT32 NNFP16_ZDP;
+    gctUINT32 NN_LANES_PER_OUT_CYCLE;
+    gctUINT32 MAX_OT_NUMBER;
+    gctUINT32 VIP_SRAM_WIDTH_INBYTE;
+    gctUINT32 TP_ZRL_BITS;
     gctUINT32 REG_FastClear:1;
     gctUINT32 REG_SpecialAntiAliasing:1;
     gctUINT32 REG_Pipe3D:1;
@@ -383,16 +394,6 @@ typedef struct
     gctUINT32 USC_ATOMIC_FIX:1;
     gctUINT32 SH_PSO_MSAA1x_FIX:1;
     gctUINT32 USC_VX_PERF_FIX:1;
-    gctUINT32 EVIS_NO_ABSDIFF:1;
-    gctUINT32 EVIS_NO_BITREPLACE:1;
-    gctUINT32 EVIS_NO_BOXFILTER:1;
-    gctUINT32 EVIS_NO_CORDIAC:1;
-    gctUINT32 EVIS_NO_DP32:1;
-    gctUINT32 EVIS_NO_FILTER:1;
-    gctUINT32 EVIS_NO_IADD:1;
-    gctUINT32 EVIS_NO_SELECTADD:1;
-    gctUINT32 EVIS_LERP_7OUTPUT:1;
-    gctUINT32 EVIS_ACCSQ_8OUTPUT:1;
     gctUINT32 USC_GOS_ADDR_FIX:1;
     gctUINT32 TX_8bit_UVFrac:1;
     gctUINT32 TX_DESC_CACHE_CLOCKGATE_FIX:1;
@@ -402,9 +403,6 @@ typedef struct
     gctUINT32 PSIO_SAMPLEMASK_IN_R0ZW_FIX:1;
     gctUINT32 TX_INTEGER_COORDINATE_V2:1;
     gctUINT32 MULTI_CORE_BLOCK_SET_CONFIG:1;
-    gctUINT32 VG_RESOLVE_ENGINE:1;
-    gctUINT32 VG_PE_COLOR_KEY:1;
-    gctUINT32 VG_IM_INDEX_FORMAT:1;
     gctUINT32 SNAPPAGE_CMD:1;
     gctUINT32 SH_NO_INDEX_CONST_ON_A0:1;
     gctUINT32 SH_NO_ONECONST_LIMIT:1;
@@ -414,15 +412,6 @@ typedef struct
     gctUINT32 SH_ICACHE_ALLOC_COUNT_FIX:1;
     gctUINT32 SH_ICACHE_PREFETCH:1;
     gctUINT32 PE2D_SEPARATE_CACHE:1;
-    gctUINT32 VG_AYUV_INPUT_OUTPUT:1;
-    gctUINT32 VG_DOUBLE_IMAGE:1;
-    gctUINT32 VG_RECTANGLE_STRIPE_MODE:1;
-    gctUINT32 VG_MMU:1;
-    gctUINT32 VG_IM_FILTER:1;
-    gctUINT32 VG_IM_YUV_PACKET:1;
-    gctUINT32 VG_IM_YUV_PLANAR:1;
-    gctUINT32 VG_PE_YUV_PACKET:1;
-    gctUINT32 VG_COLOR_PRECISION_8_BIT:1;
     gctUINT32 PE_MSAA_OQ_FIX:1;
     gctUINT32 PSIO_MSAA_CL_FIX:1;
     gctUINT32 USC_DEFER_FILL_FIX:1;
@@ -431,8 +420,6 @@ typedef struct
     gctUINT32 PE2D_LINEAR_YUV420_OUTPUT:1;
     gctUINT32 PE2D_LINEAR_YUV420_10BIT:1;
     gctUINT32 MULTI_CLUSTER:1;
-    gctUINT32 VG_TS_CULLING:1;
-    gctUINT32 VG_FP25:1;
     gctUINT32 SH_MULTI_WG_PACK:1;
     gctUINT32 SH_DUAL16_SAMPLEMASK_ZW:1;
     gctUINT32 TPG_TRIVIAL_MODE_FIX:1;
@@ -445,26 +432,14 @@ typedef struct
     gctUINT32 G2D_3rd_PARTY_COMPRESSION_1_1:1;
     gctUINT32 TX_FLUSH_L1CACHE:1;
     gctUINT32 PE_DITHER_FIX2:1;
-    gctUINT32 G2D_DEC400:1;
     gctUINT32 SH_TEXLD_U_FIX:1;
     gctUINT32 MC_FCCACHE_BYTEMASK:1;
     gctUINT32 SH_MULTI_WG_PACK_FIX:1;
-    gctUINT32 DC_OVERLAY_SCALING:1;
-    gctUINT32 DC_SOURCE_ROTATION:1;
-    gctUINT32 DC_TILED:1;
-    gctUINT32 DC_YUV_L1:1;
-    gctUINT32 DC_D30_OUTPUT:1;
-    gctUINT32 DC_MMU:1;
-    gctUINT32 DC_COMPRESSION:1;
-    gctUINT32 DC_QOS:1;
     gctUINT32 PE_ADVANCE_BLEND_PART0:1;
     gctUINT32 FE_PATCHLIST_FETCH_FIX:1;
     gctUINT32 RA_CG_FIX:1;
-    gctUINT32 EVIS_VX2:1;
-    gctUINT32 NN_FLOAT:1;
     gctUINT32 DEC400:1;
     gctUINT32 LS_SUPPORT_PERCOMP_DEPENDENCY:1;
-    gctUINT32 TP_ENGINE:1;
     gctUINT32 MULTI_CORE_BLOCK_SET_CONFIG2:1;
     gctUINT32 PE_VMSAA_COVERAGE_CACHE_FIX:1;
     gctUINT32 SECURITY_AHB:1;
@@ -476,28 +451,81 @@ typedef struct
     gctUINT32 SH_GM_ENDIAN:1;
     gctUINT32 SH_GM_USC_UNALLOC:1;
     gctUINT32 SH_END_OF_BB:1;
-    gctUINT32 VIP_V7:1;
     gctUINT32 TX_BORDER_CLAMP_FIX:1;
     gctUINT32 SH_IMG_LD_LASTPIXEL_FIX:1;
     gctUINT32 ASYNC_BLT:1;
     gctUINT32 ASYNC_FE_FENCE_FIX:1;
     gctUINT32 PSCS_THROTTLE:1;
     gctUINT32 SEPARATE_LS:1;
-    gctUINT32 MCFE:1;
     gctUINT32 WIDELINE_TRIANGLE_EMU:1;
-    gctUINT32 VG_RESOLUTION_8K:1;
-    gctUINT32 VG_IMAGE_16K:1;
     gctUINT32 FENCE_32BIT:1;
     gctUINT32 FENCE_64BIT:1;
-    gctUINT32 NN_INTERLEVE8:1;
-    gctUINT32 TP_REORDER:1;
     gctUINT32 PE_DEPTH_ONLY_OQFIX:1;
-    gctUINT32 TP_LRN:1;
     gctUINT32 TX_SEAMLESS_CUBE:1;
     gctUINT32 TX_SNORM_SUPPORT:1;
-    gctUINT32 TP_MAX_POOLING_STRIDE1:1;
     gctUINT32 SH_SCATTER_GATHER:1;
     gctUINT32 HWMANAGED_LS:1;
+    gctUINT32 SH_IMAGE_ENABLE_FIX:1;
+    gctUINT32 MSAA_FRAGMENT_OPERATION:1;
+    gctUINT32 PE_TILE_CACHE_FLUSH_FIX:1;
+    gctUINT32 BLT_YUV_OUTPUT:1;
+    gctUINT32 SH_IO_CG_FIX:1;
+    gctUINT32 PE_SWIZZLE:1;
+    gctUINT32 SH_ROBUSTNESS_FIX:1;
+    gctUINT32 USC_ATOMIC_FIX2:1;
+    gctUINT32 PE_A8B8G8R8:1;
+    gctUINT32 MULTIVIEW_RENDER:1;
+    gctUINT32 FE_DRAW_DIRECT:1;
+    gctUINT32 TX_VKBORDER_MODE:1;
+    gctUINT32 TX_UNNORMALIZED_COORD:1;
+    gctUINT32 PA_LINECLIP_FIX:1;
+    gctUINT32 TX_8bit_UVFrac_ROUNDING_FIX:1;
+    gctUINT32 MP_ARCH:1;
+    gctUINT32 VG_TS_CULLING:1;
+    gctUINT32 VG_FP25:1;
+    gctUINT32 VG_AYUV_INPUT_OUTPUT:1;
+    gctUINT32 VG_DOUBLE_IMAGE:1;
+    gctUINT32 VG_RECTANGLE_STRIPE_MODE:1;
+    gctUINT32 VG_MMU:1;
+    gctUINT32 VG_IM_FILTER:1;
+    gctUINT32 VG_IM_YUV_PACKET:1;
+    gctUINT32 VG_IM_YUV_PLANAR:1;
+    gctUINT32 VG_PE_YUV_PACKET:1;
+    gctUINT32 VG_COLOR_PRECISION_8_BIT:1;
+    gctUINT32 VG_RESOLVE_ENGINE:1;
+    gctUINT32 VG_PE_COLOR_KEY:1;
+    gctUINT32 VG_IM_INDEX_FORMAT:1;
+    gctUINT32 VG_RESOLUTION_8K:1;
+    gctUINT32 VG_IMAGE_16K:1;
+    gctUINT32 VG_FORMAT_ARGB2222:1;
+    gctUINT32 G2D_DEC400:1;
+    gctUINT32 DC_OVERLAY_SCALING:1;
+    gctUINT32 DC_SOURCE_ROTATION:1;
+    gctUINT32 DC_TILED:1;
+    gctUINT32 DC_YUV_L1:1;
+    gctUINT32 DC_D30_OUTPUT:1;
+    gctUINT32 DC_MMU:1;
+    gctUINT32 DC_COMPRESSION:1;
+    gctUINT32 DC_QOS:1;
+    gctUINT32 EVIS_NO_ABSDIFF:1;
+    gctUINT32 EVIS_NO_BITREPLACE:1;
+    gctUINT32 EVIS_NO_BOXFILTER:1;
+    gctUINT32 EVIS_NO_CORDIAC:1;
+    gctUINT32 EVIS_NO_DP32:1;
+    gctUINT32 EVIS_NO_FILTER:1;
+    gctUINT32 EVIS_NO_IADD:1;
+    gctUINT32 EVIS_NO_SELECTADD:1;
+    gctUINT32 EVIS_LERP_7OUTPUT:1;
+    gctUINT32 EVIS_ACCSQ_8OUTPUT:1;
+    gctUINT32 EVIS_VX2:1;
+    gctUINT32 NN_FLOAT:1;
+    gctUINT32 TP_ENGINE:1;
+    gctUINT32 VIP_V7:1;
+    gctUINT32 MCFE:1;
+    gctUINT32 NN_INTERLEVE8:1;
+    gctUINT32 TP_REORDER:1;
+    gctUINT32 TP_LRN:1;
+    gctUINT32 TP_MAX_POOLING_STRIDE1:1;
     gctUINT32 NN_FP16_ALU:1;
     gctUINT32 NN_INT16_ALU:1;
     gctUINT32 TP_ROI_POOLING:1;
@@ -507,23 +535,18 @@ typedef struct
     gctUINT32 NN_INT8_SCALE:1;
     gctUINT32 NN_POWER_ISOLATION:1;
     gctUINT32 SWTILING_PHASE1:1;
-    gctUINT32 SH_IMAGE_ENABLE_FIX:1;
     gctUINT32 TF_QUANTIZATION:1;
-    gctUINT32 MSAA_FRAGMENT_OPERATION:1;
     gctUINT32 TP_SIMPLE_INT16:1;
     gctUINT32 TP_REAL_INT16:1;
     gctUINT32 NN_FIRST_PIXEL_POOLING:1;
     gctUINT32 SWTILING_PHASE2:1;
-    gctUINT32 VG_FORMAT_ARGB2222:1;
-    gctUINT32 PE_TILE_CACHE_FLUSH_FIX:1;
-    gctUINT32 BLT_YUV_OUTPUT:1;
     gctUINT32 NN_STRIDE_SUPPORT:1;
     gctUINT32 NN_XYDP6:1;
     gctUINT32 TP_REORDER_FIX:1;
     gctUINT32 NN_CONV1x1_PERF_FIX:1;
     gctUINT32 NN_CACHELINE_MODE_PERF_FIX:1;
     gctUINT32 NN_PER3DTILE_BUBBLE_FIX:1;
-    gctUINT32 SH_IO_CG_FIX:1;
+    gctUINT32 NN_CONVOUT_FIFO_DEPTH_FIX:1;
     gctUINT32 SWTILING_PHASE3:1;
     gctUINT32 USC_STAY_LRU:1;
     gctUINT32 NN_NONZERO_MIRROR_BORDER:1;
@@ -534,14 +557,25 @@ typedef struct
     gctUINT32 NN_ZDP3_NO_COMPRESS_FIX:1;
     gctUINT32 NN_ASYNC_COPY_PERF_FIX:1;
     gctUINT32 OCB_COUNTER:1;
-    gctUINT32 PE_SWIZZLE:1;
-    gctUINT32 SH_ROBUSTNESS_FIX:1;
-    gctUINT32 USC_ATOMIC_FIX2:1;
-    gctUINT32 PE_A8B8G8R8:1;
-    gctUINT32 MULTIVIEW_RENDER:1;
-    gctUINT32 FE_DRAW_DIRECT:1;
-    gctUINT32 TX_VKBORDER_MODE:1;
-    gctUINT32 TX_UNNORMALIZED_COORD:1;
+    gctUINT32 NN_XYDP0:1;
+    gctUINT32 ZRL_7BIT:1;
+    gctUINT32 NN_ASYNC_COPY_MERGE_FIX:1;
+    gctUINT32 NN_SMALLBATCH_PHASE1:1;
+    gctUINT32 TP_SMALLBATCH_PHASE1:1;
+    gctUINT32 SCALER:1;
+    gctUINT32 NN_REQ_SLOWARBITRATION_FIX:1;
+    gctUINT32 IMAGE_PARTIAL_CACHE:1;
+    gctUINT32 FULLCACHE_KERNELHEAD_FIX:1;
+    gctUINT32 NN_SINGLEPORT_ACCUMBUFFER:1;
+    gctUINT32 NN_SMALLBATCH:1;
+    gctUINT32 TP_SMALLBATCH:1;
+    gctUINT32 ZRL_8BIT:1;
+    gctUINT32 NN_DEPTHWISE_SUPPORT:1;
+    gctUINT32 NN_WRITE_WITHOUT_USC:1;
+    gctUINT32 NN_ZDP_INIMAGE_SIZE_FIX:1;
+    gctUINT32 HI_REORDER_FIX:1;
+    gctUINT32 TP_COEF_COMPRESSION_ENHANCEMENT:1;
+    gctUINT32 VIP_DEC400:1;
 } gcsFEATURE_DATABASE;
 
 static gcsFEATURE_DATABASE gChipInfo[] = {
@@ -553,26 +587,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x300, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -580,7 +618,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -588,6 +625,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -870,16 +915,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -889,9 +924,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -901,15 +933,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -918,8 +941,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -932,26 +953,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x1, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x1, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x1, /* gcFEATURE_BIT_DC_MMU */
-        0x1, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x1, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -963,28 +972,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x1, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x1, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x1, /* gcFEATURE_BIT_DC_MMU */
+        0x1, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x1, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -994,23 +1056,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -1021,14 +1078,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* dc0000_5560 */
     {
@@ -1038,26 +1106,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x302, /* CustomerID */
         0x3, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -1065,7 +1137,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -1073,6 +1144,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -1355,16 +1434,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -1374,9 +1443,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -1386,15 +1452,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -1403,8 +1460,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -1417,26 +1472,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x1, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x1, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x1, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -1448,28 +1491,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x1, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x1, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x1, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -1479,23 +1575,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -1506,14 +1597,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc200_4650 */
     {
@@ -1523,26 +1625,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -1550,7 +1656,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -1558,6 +1663,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -1840,16 +1953,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -1859,9 +1962,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -1871,15 +1971,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -1888,8 +1979,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -1902,26 +1991,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -1933,28 +2010,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -1964,23 +2094,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -1991,14 +2116,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc200_4621 */
     {
@@ -2008,26 +2144,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -2035,7 +2175,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -2043,6 +2182,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -2325,16 +2472,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -2344,9 +2481,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -2356,15 +2490,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -2373,8 +2498,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -2387,26 +2510,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -2418,28 +2529,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -2449,23 +2613,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -2476,14 +2635,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc300_4650 */
     {
@@ -2493,26 +2663,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x5, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -2520,7 +2694,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -2528,6 +2701,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -2810,16 +2991,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -2829,9 +3000,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -2841,15 +3009,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -2858,8 +3017,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -2872,26 +3029,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -2903,28 +3048,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -2934,23 +3132,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -2961,14 +3154,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc300_4650_guoke */
     {
@@ -2978,26 +3182,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x4, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -3005,7 +3213,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -3013,6 +3220,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -3295,16 +3510,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -3314,9 +3519,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -3326,15 +3528,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -3343,8 +3536,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -3357,26 +3548,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -3388,28 +3567,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -3419,23 +3651,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -3446,14 +3673,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc300_4_6_6_rc0 */
     {
@@ -3463,26 +3701,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -3490,7 +3732,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -3498,6 +3739,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -3780,16 +4029,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -3799,9 +4038,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -3811,15 +4047,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -3828,8 +4055,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -3842,26 +4067,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -3873,28 +4086,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -3904,23 +4170,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -3931,14 +4192,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320_5007 */
     {
@@ -3948,26 +4220,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x8, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x100, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x8, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -3975,7 +4251,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -3983,6 +4258,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -4265,16 +4548,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -4284,9 +4557,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -4296,15 +4566,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -4313,8 +4574,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -4327,26 +4586,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -4358,28 +4605,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -4389,23 +4689,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -4416,14 +4711,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320_5220 */
     {
@@ -4433,26 +4739,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -4460,7 +4770,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -4468,6 +4777,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -4750,16 +5067,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -4769,9 +5076,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -4781,15 +5085,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -4798,8 +5093,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -4812,26 +5105,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -4843,28 +5124,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -4874,23 +5208,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -4901,14 +5230,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320_5303 */
     {
@@ -4918,26 +5258,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -4945,7 +5289,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -4953,6 +5296,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -5235,16 +5586,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -5254,9 +5595,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -5266,15 +5604,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -5283,8 +5612,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -5297,26 +5624,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -5328,28 +5643,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -5359,23 +5727,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -5386,14 +5749,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320_5303_1 */
     {
@@ -5403,26 +5777,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* EcoID */
         0x0, /* CustomerID */
         0x4, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -5430,7 +5808,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -5438,6 +5815,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -5720,16 +6105,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -5739,9 +6114,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -5751,15 +6123,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -5768,8 +6131,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -5782,26 +6143,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -5813,28 +6162,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -5844,23 +6246,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -5871,14 +6268,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320_5340 */
     {
@@ -5888,26 +6296,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x4, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -5915,7 +6327,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -5923,6 +6334,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -6205,16 +6624,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -6224,9 +6633,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -6236,15 +6642,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -6253,8 +6650,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -6267,26 +6662,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -6298,28 +6681,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -6329,23 +6765,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -6356,14 +6787,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320c_5341 */
     {
@@ -6373,26 +6815,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xc, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0xc, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -6400,7 +6846,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -6408,6 +6853,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -6690,16 +7143,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -6709,9 +7152,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -6721,15 +7161,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -6738,8 +7169,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -6752,26 +7181,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -6783,28 +7200,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -6814,23 +7284,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -6841,14 +7306,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc320_5341 */
     {
@@ -6858,26 +7334,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -6885,7 +7365,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -6893,6 +7372,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -7175,16 +7662,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -7194,9 +7671,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -7206,15 +7680,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -7223,8 +7688,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -7237,26 +7700,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -7268,28 +7719,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -7299,23 +7803,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -7326,14 +7825,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc520l_5_3_5_rc0 */
     {
@@ -7343,26 +7853,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x206, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -7370,7 +7884,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -7378,6 +7891,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -7660,16 +8181,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -7679,9 +8190,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -7691,15 +8199,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -7708,8 +8207,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -7722,26 +8219,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -7753,28 +8238,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -7784,23 +8322,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -7811,14 +8344,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc355_v121_rc5 */
     {
@@ -7828,26 +8372,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -7855,7 +8403,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -7863,6 +8410,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -8145,16 +8700,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -8164,9 +8709,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -8176,15 +8718,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -8193,8 +8726,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -8207,26 +8738,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -8238,28 +8757,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -8269,23 +8841,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -8296,14 +8863,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc355_v121x */
     {
@@ -8313,26 +8891,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -8340,7 +8922,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -8348,6 +8929,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -8630,16 +9219,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -8649,9 +9228,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x1, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x1, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x1, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -8661,15 +9237,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x1, /* gcFEATURE_BIT_VG_MMU */
-        0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -8678,8 +9245,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -8692,26 +9257,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -8723,28 +9276,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x1, /* gcFEATURE_BIT_VG_MMU */
+        0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x1, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x1, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x1, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -8754,23 +9360,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -8781,14 +9382,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc355_8Kx8K */
     {
@@ -8798,26 +9410,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x407, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -8825,7 +9441,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -8833,6 +9448,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -9115,16 +9738,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -9134,9 +9747,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x1, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x1, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x1, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -9146,15 +9756,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x1, /* gcFEATURE_BIT_VG_MMU */
-        0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -9163,8 +9764,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -9177,26 +9776,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -9208,28 +9795,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x1, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x1, /* gcFEATURE_BIT_VG_MMU */
+        0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x1, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x1, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x1, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x1, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -9239,23 +9879,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -9266,14 +9901,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc355_16K */
     {
@@ -9283,26 +9929,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x408, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -9310,7 +9960,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -9318,6 +9967,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -9600,16 +10257,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -9619,9 +10266,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x1, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x1, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x1, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -9631,15 +10275,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x1, /* gcFEATURE_BIT_VG_MMU */
-        0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -9648,8 +10283,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -9662,26 +10295,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -9693,28 +10314,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x1, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x1, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x1, /* gcFEATURE_BIT_VG_MMU */
+        0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x1, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x1, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x1, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x1, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x1, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -9724,23 +10398,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -9751,14 +10420,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc400_4633 */
     {
@@ -9768,26 +10448,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x80, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -9795,7 +10479,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -9803,6 +10486,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -10085,16 +10776,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -10104,9 +10785,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -10116,15 +10794,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -10133,8 +10802,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -10147,26 +10814,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -10178,28 +10833,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -10209,23 +10917,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -10236,14 +10939,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc600_4633 */
     {
@@ -10253,26 +10967,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x80, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -10280,7 +10998,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -10288,6 +11005,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -10570,16 +11295,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -10589,9 +11304,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -10601,15 +11313,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -10618,8 +11321,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -10632,26 +11333,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -10659,32 +11348,85 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
-        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x1, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -10694,23 +11436,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -10721,14 +11458,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc400_4645 */
     {
@@ -10738,26 +11486,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x4, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x80, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -10765,7 +11517,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -10773,6 +11524,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -11055,16 +11814,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -11074,9 +11823,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -11086,15 +11832,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -11103,8 +11840,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -11117,26 +11852,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -11148,28 +11871,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -11179,23 +11955,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -11206,14 +11977,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc400L_0x465x */
     {
@@ -11223,26 +12005,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x7, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x80, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -11250,7 +12036,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -11258,6 +12043,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -11540,16 +12333,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -11559,9 +12342,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -11571,15 +12351,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -11588,8 +12359,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -11602,26 +12371,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -11633,28 +12390,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -11664,23 +12474,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -11691,14 +12496,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc7000nano_0x4652 */
     {
@@ -11708,26 +12524,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x7, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x80, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -11735,7 +12555,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -11743,6 +12562,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -12025,16 +12852,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -12044,9 +12861,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -12056,15 +12870,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -12073,8 +12878,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -12087,26 +12890,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -12118,28 +12909,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -12149,23 +12993,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -12176,14 +13015,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc7000nano_0x4652 */
     {
@@ -12193,26 +13043,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x100, /* CustomerID */
         0x9, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x80, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x80, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -12220,7 +13074,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -12228,6 +13081,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -12510,16 +13371,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -12529,9 +13380,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -12541,15 +13389,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -12558,8 +13397,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -12572,26 +13409,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -12603,28 +13428,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -12634,23 +13512,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -12661,14 +13534,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc420_5325 */
     {
@@ -12678,26 +13562,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x2, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -12705,7 +13593,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -12713,6 +13600,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -12995,16 +13890,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -13014,9 +13899,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -13026,15 +13908,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -13043,8 +13916,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -13057,26 +13928,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -13088,28 +13947,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -13119,23 +14031,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -13146,14 +14053,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc420_5336 */
     {
@@ -13163,26 +14081,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x3, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -13190,7 +14112,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -13198,6 +14119,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -13480,16 +14409,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -13499,9 +14418,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -13511,15 +14427,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -13528,8 +14435,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -13542,26 +14447,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -13573,28 +14466,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -13604,23 +14550,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -13631,14 +14572,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc420cpd_533rc7a */
     {
@@ -13648,26 +14600,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x1, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -13675,7 +14631,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -13683,6 +14638,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -13965,16 +14928,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -13984,9 +14937,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -13996,15 +14946,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -14013,8 +14954,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -14027,26 +14966,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -14058,28 +14985,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -14089,23 +15069,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -14116,14 +15091,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc428_5421 */
     {
@@ -14133,26 +15119,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x1, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -14160,7 +15150,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -14168,6 +15157,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -14450,16 +15447,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -14469,9 +15456,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -14481,15 +15465,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -14498,8 +15473,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -14512,26 +15485,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -14543,28 +15504,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -14574,23 +15588,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -14601,14 +15610,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc428c_5_4_2_rc3a */
     {
@@ -14618,26 +15638,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x1, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -14645,7 +15669,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -14653,6 +15676,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -14935,16 +15966,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -14954,9 +15975,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -14966,15 +15984,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -14983,8 +15992,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -14997,26 +16004,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -15028,28 +16023,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -15059,23 +16107,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -15086,14 +16129,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc520_5341 */
     {
@@ -15103,26 +16157,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -15130,7 +16188,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -15138,6 +16195,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -15420,16 +16485,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -15439,9 +16494,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -15451,15 +16503,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -15468,8 +16511,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -15482,26 +16523,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -15513,28 +16542,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -15544,23 +16626,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -15571,14 +16648,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* gc520l_5341_rc1b */
     {
@@ -15588,26 +16676,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -15615,7 +16707,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -15623,6 +16714,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -15905,16 +17004,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -15924,9 +17013,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -15936,15 +17022,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -15953,8 +17030,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -15967,26 +17042,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -15998,28 +17061,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -16029,23 +17145,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -16056,43 +17167,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520_5540_rc0 */
+    /* gc520l_5341_rc1c */
     {
         0x520, /* ChipID */
-        0x5540, /* ChipRevision */
-        0x5200, /* ProductID */
+        0x5341, /* ChipRevision */
+        0x5202, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x204, /* CustomerID */
+        0x3, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -16100,7 +17226,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -16108,28 +17233,36 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
-        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x0, /* gcFEATURE_BIT_REG_MSAA */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x1, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
-        0x1, /* gcFEATURE_BIT_REG_NoEZ */
-        0x1, /* gcFEATURE_BIT_REG_No422Texture */
-        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
         0x0, /* gcFEATURE_BIT_REG_NoScaler */
-        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
@@ -16137,73 +17270,73 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
-        0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x0, /* gcFEATURE_BIT_REG_FlipY */
-        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x0, /* gcFEATURE_BIT_REG_Texture8K */
-        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x0, /* gcFEATURE_BIT_REG_Render8K */
-        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
-        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x0, /* gcFEATURE_BIT_REG_PixelDither */
-        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x1, /* gcFEATURE_BIT_REG_New2D */
-        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x0, /* gcFEATURE_BIT_REG_WideLine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
@@ -16211,7 +17344,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
@@ -16222,20 +17355,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x1, /* gcFEATURE_BIT_REG_YUVConversion */
         0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
-        0x1, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
@@ -16253,8 +17386,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -16264,7 +17397,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
@@ -16273,7 +17406,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
@@ -16283,40 +17416,40 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
-        0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x1, /* gcFEATURE_BIT_REG_DESupertile */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
@@ -16334,8 +17467,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
-        0x1, /* gcFEATURE_BIT_REG_DEC */
-        0x1, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
@@ -16348,7 +17481,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
         0x0, /* gcFEATURE_BIT_V4Compression */
-        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x0, /* gcFEATURE_BIT_NEW_GPIPE */
@@ -16390,16 +17523,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -16409,9 +17532,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -16421,15 +17541,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -16438,8 +17549,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -16452,26 +17561,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -16483,28 +17580,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -16514,23 +17664,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -16541,43 +17686,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520l_5_3_4_rc2b */
+    /* gc520_5540_rc0 */
     {
         0x520, /* ChipID */
-        0x5342, /* ChipRevision */
-        0x5202, /* ProductID */
+        0x5540, /* ChipRevision */
+        0x5200, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x2, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -16585,7 +17745,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -16593,28 +17752,36 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
-        0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x1, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
-        0x0, /* gcFEATURE_BIT_REG_NoEZ */
-        0x0, /* gcFEATURE_BIT_REG_No422Texture */
-        0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_NoEZ */
+        0x1, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x1, /* gcFEATURE_BIT_REG_NoScaler */
-        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
@@ -16622,73 +17789,73 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
-        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x1, /* gcFEATURE_BIT_REG_FlipY */
-        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x1, /* gcFEATURE_BIT_REG_Texture8K */
-        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x0, /* gcFEATURE_BIT_REG_FlipY */
+        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_Texture8K */
+        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x1, /* gcFEATURE_BIT_REG_Render8K */
-        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_Render8K */
+        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
-        0x0, /* gcFEATURE_BIT_REG_MC20 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x1, /* gcFEATURE_BIT_REG_PixelDither */
-        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x0, /* gcFEATURE_BIT_REG_PixelDither */
+        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x1, /* gcFEATURE_BIT_REG_New2D */
-        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x0, /* gcFEATURE_BIT_REG_WideLine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
@@ -16696,7 +17863,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
@@ -16707,20 +17874,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x1, /* gcFEATURE_BIT_REG_YUVConversion */
         0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
         0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
-        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x1, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
@@ -16738,18 +17905,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
@@ -16758,37 +17925,37 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
-        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -16797,11 +17964,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
@@ -16819,21 +17986,21 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
-        0x0, /* gcFEATURE_BIT_REG_DEC */
-        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x1, /* gcFEATURE_BIT_REG_DEC */
+        0x1, /* gcFEATURE_BIT_REG_VSTileNV12 */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
-        0x1, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x0, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
-        0x1, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x0, /* gcFEATURE_BIT_NEW_GPIPE */
@@ -16875,16 +18042,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -16894,9 +18051,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -16906,15 +18060,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -16923,8 +18068,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -16937,26 +18080,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -16968,28 +18099,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -16999,23 +18183,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -17026,43 +18205,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520c_5_5_0 */
+    /* gc520l_5_3_4_rc2b */
     {
         0x520, /* ChipID */
-        0x5501, /* ChipRevision */
-        0x5200, /* ProductID */
+        0x5342, /* ChipRevision */
+        0x5202, /* ProductID */
         0x0, /* EcoID */
-        0x3, /* CustomerID */
+        0x0, /* CustomerID */
         0x2, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -17070,7 +18264,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -17078,28 +18271,36 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
-        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x0, /* gcFEATURE_BIT_REG_MSAA */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x1, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
-        0x1, /* gcFEATURE_BIT_REG_NoEZ */
-        0x1, /* gcFEATURE_BIT_REG_No422Texture */
-        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
         0x1, /* gcFEATURE_BIT_REG_NoScaler */
-        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
@@ -17107,73 +18308,73 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
-        0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x0, /* gcFEATURE_BIT_REG_FlipY */
-        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x0, /* gcFEATURE_BIT_REG_Texture8K */
-        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x0, /* gcFEATURE_BIT_REG_Render8K */
-        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
-        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x0, /* gcFEATURE_BIT_REG_PixelDither */
-        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x1, /* gcFEATURE_BIT_REG_New2D */
-        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x0, /* gcFEATURE_BIT_REG_WideLine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
@@ -17181,7 +18382,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
@@ -17192,20 +18393,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x1, /* gcFEATURE_BIT_REG_YUVConversion */
         0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
-        0x1, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
@@ -17223,18 +18424,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
@@ -17243,37 +18444,37 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
-        0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
-        0x1, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x1, /* gcFEATURE_BIT_REG_DESupertile */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -17282,11 +18483,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
@@ -17313,10 +18514,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
-        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x0, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
         0x1, /* gcFEATURE_BIT_V4Compression */
         0x1, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
@@ -17346,7 +18547,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -17360,16 +18561,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -17379,9 +18570,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -17390,16 +18578,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
-        0x1, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -17408,8 +18587,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -17422,26 +18599,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -17453,28 +18618,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -17484,23 +18702,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -17511,43 +18724,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520c_5_5_4_rc1  */
+    /* gc520c_5_5_0 */
     {
         0x520, /* ChipID */
-        0x5541, /* ChipRevision */
+        0x5501, /* ChipRevision */
         0x5200, /* ProductID */
         0x0, /* EcoID */
-        0x202, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x3, /* CustomerID */
+        0x2, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -17555,7 +18783,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -17563,7 +18790,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
         0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
@@ -17583,7 +18818,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_NoScaler */
         0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
@@ -17680,7 +18915,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x1, /* gcFEATURE_BIT_REG_YUVConversion */
         0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
@@ -17714,7 +18949,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
@@ -17746,7 +18981,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
-        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
@@ -17789,21 +19024,21 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
-        0x1, /* gcFEATURE_BIT_REG_DEC */
-        0x1, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x0, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x0, /* gcFEATURE_BIT_V4Compression */
-        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x1, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x0, /* gcFEATURE_BIT_NEW_GPIPE */
@@ -17831,7 +19066,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -17845,16 +19080,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -17864,9 +19089,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -17875,16 +19097,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
-        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x1, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -17893,8 +19106,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -17907,26 +19118,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -17938,28 +19137,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -17969,23 +19221,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -17996,43 +19243,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520sp_5_5_2_rc0a */
+    /* gc520c_5_5_4_rc1  */
     {
         0x520, /* ChipID */
-        0x5520, /* ChipRevision */
+        0x5541, /* ChipRevision */
         0x5200, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
-        0x1, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
+        0x202, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -18040,7 +19302,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -18048,6 +19309,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -18068,7 +19337,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x1, /* gcFEATURE_BIT_REG_NoScaler */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
         0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
@@ -18172,7 +19441,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MixedStreams */
         0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
-        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
@@ -18266,7 +19535,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
-        0x1, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x0, /* gcFEATURE_BIT_REG_RSS8 */
         0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
@@ -18274,8 +19543,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
-        0x0, /* gcFEATURE_BIT_REG_DEC */
-        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x1, /* gcFEATURE_BIT_REG_DEC */
+        0x1, /* gcFEATURE_BIT_REG_VSTileNV12 */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
@@ -18316,7 +19585,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -18330,16 +19599,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -18349,9 +19608,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -18361,15 +19617,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -18378,8 +19625,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -18392,26 +19637,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -18423,28 +19656,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -18454,23 +19740,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -18481,43 +19762,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520_v552_rc1 */
+    /* gc520sp_5_5_2_rc0a */
     {
         0x520, /* ChipID */
-        0x5521, /* ChipRevision */
+        0x5520, /* ChipRevision */
         0x5200, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x1, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -18525,7 +19821,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -18533,6 +19828,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -18815,16 +20118,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -18834,9 +20127,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -18846,15 +20136,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -18863,8 +20144,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -18877,26 +20156,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -18908,28 +20175,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -18939,23 +20259,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -18966,43 +20281,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc520_5_5_3_rc2a */
+    /* gc520_v552_rc1 */
     {
         0x520, /* ChipID */
-        0x5532, /* ChipRevision */
+        0x5521, /* ChipRevision */
         0x5200, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x1, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -19010,7 +20340,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -19018,7 +20347,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
         0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
@@ -19038,7 +20375,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_NoScaler */
         0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
@@ -19142,7 +20479,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MixedStreams */
         0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
-        0x1, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
@@ -19169,7 +20506,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
@@ -19236,7 +20573,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
-        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x0, /* gcFEATURE_BIT_REG_RSS8 */
         0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
@@ -19244,8 +20581,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
-        0x1, /* gcFEATURE_BIT_REG_DEC */
-        0x1, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
@@ -19300,16 +20637,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -19319,9 +20646,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -19331,15 +20655,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -19348,8 +20663,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -19362,26 +20675,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -19393,28 +20694,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -19424,23 +20778,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -19451,43 +20800,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc600L_0x465x */
+    /* gc520_5_5_3_rc2a */
     {
-        0x600, /* ChipID */
-        0x4652, /* ChipRevision */
-        0x70005, /* ProductID */
+        0x520, /* ChipID */
+        0x5532, /* ChipRevision */
+        0x5200, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x7, /* PatchVersion */
+        0x1, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -19495,7 +20859,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -19503,107 +20866,115 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
-        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x0, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x0, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x1, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
         0x1, /* gcFEATURE_BIT_REG_NoEZ */
-        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
         0x0, /* gcFEATURE_BIT_REG_NoScaler */
-        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
-        0x1, /* gcFEATURE_BIT_REG_HalfPECache */
-        0x1, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
         0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
         0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x1, /* gcFEATURE_BIT_REG_FlipY */
-        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x1, /* gcFEATURE_BIT_REG_Texture8K */
-        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x0, /* gcFEATURE_BIT_REG_FlipY */
+        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_Texture8K */
+        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x1, /* gcFEATURE_BIT_REG_Render8K */
-        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x0, /* gcFEATURE_BIT_REG_Render8K */
+        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
-        0x0, /* gcFEATURE_BIT_REG_MC20 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
         0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x1, /* gcFEATURE_BIT_REG_PixelDither */
-        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x0, /* gcFEATURE_BIT_REG_PixelDither */
+        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
-        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x1, /* gcFEATURE_BIT_REG_New2D */
         0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x0, /* gcFEATURE_BIT_REG_WideLine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
@@ -19616,24 +20987,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
-        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x1, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
@@ -19648,57 +21019,57 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -19707,11 +21078,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
@@ -19729,8 +21100,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
-        0x0, /* gcFEATURE_BIT_REG_DEC */
-        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x1, /* gcFEATURE_BIT_REG_DEC */
+        0x1, /* gcFEATURE_BIT_REG_VSTileNV12 */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
@@ -19785,16 +21156,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -19804,9 +21165,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -19816,15 +21174,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -19833,8 +21182,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -19847,26 +21194,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -19878,28 +21213,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -19909,23 +21297,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -19936,43 +21319,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000nanoultra_4_6_5_rc3a */
+    /* gc600L_0x465x */
     {
         0x600, /* ChipID */
-        0x4653, /* ChipRevision */
+        0x4652, /* ChipRevision */
         0x70005, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x1, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
+        0x7, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -19980,7 +21378,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -19988,14 +21385,22 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
@@ -20270,16 +21675,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -20289,9 +21684,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -20301,15 +21693,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -20318,8 +21701,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -20332,26 +21713,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -20359,32 +21728,85 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
-        0x1, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -20394,23 +21816,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -20421,43 +21838,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000nanoultra_4_6_5_rc3b */
+    /* gc7000nanoultra_4_6_5_rc3a */
     {
         0x600, /* ChipID */
         0x4653, /* ChipRevision */
         0x70005, /* ProductID */
         0x0, /* EcoID */
-        0x101, /* CustomerID */
-        0x2, /* PatchVersion */
+        0x0, /* CustomerID */
+        0x1, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -20465,7 +21897,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -20473,6 +21904,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -20755,16 +22194,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -20774,9 +22203,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -20786,15 +22212,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -20803,8 +22220,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -20816,27 +22231,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -20848,28 +22251,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -20879,23 +22335,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -20906,43 +22357,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000nanoultra_4_6_5_rc3e */
+    /* gc7000nanoultra_4_6_5_rc3b */
     {
         0x600, /* ChipID */
         0x4653, /* ChipRevision */
         0x70005, /* ProductID */
         0x0, /* EcoID */
-        0x102, /* CustomerID */
-        0x5, /* PatchVersion */
+        0x101, /* CustomerID */
+        0x2, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -20950,7 +22416,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -20958,6 +22423,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -21240,16 +22713,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -21259,9 +22722,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -21271,15 +22731,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -21288,8 +22739,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -21302,26 +22751,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -21329,32 +22766,85 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
-        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x1, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -21364,23 +22854,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -21391,43 +22876,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc620_5_5_3_rc0 */
+    /* gc7000nanoultra_4_6_5_rc3e */
     {
-        0x620, /* ChipID */
-        0x5530, /* ChipRevision */
-        0x6200, /* ProductID */
+        0x600, /* ChipID */
+        0x4653, /* ChipRevision */
+        0x70005, /* ProductID */
         0x0, /* EcoID */
-        0x200, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
+        0x102, /* CustomerID */
+        0x5, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -21435,7 +22935,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -21443,107 +22942,115 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
-        0x0, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x0, /* gcFEATURE_BIT_REG_ZCompression */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x0, /* gcFEATURE_BIT_REG_MSAA */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
         0x1, /* gcFEATURE_BIT_REG_NoEZ */
-        0x1, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
         0x0, /* gcFEATURE_BIT_REG_NoScaler */
-        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
-        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
-        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x1, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x1, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
         0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
         0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x0, /* gcFEATURE_BIT_REG_FlipY */
-        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x0, /* gcFEATURE_BIT_REG_Texture8K */
-        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x0, /* gcFEATURE_BIT_REG_Render8K */
-        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
-        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
         0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x0, /* gcFEATURE_BIT_REG_PixelDither */
-        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
-        0x1, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
         0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x0, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x0, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
@@ -21556,24 +23063,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
-        0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
@@ -21588,8 +23095,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -21598,47 +23105,47 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x1, /* gcFEATURE_BIT_REG_DESupertile */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -21647,8 +23154,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
@@ -21711,7 +23218,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -21725,16 +23232,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -21744,9 +23241,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -21756,25 +23250,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
-        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
-        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -21786,27 +23269,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x1, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -21818,28 +23289,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -21849,23 +23373,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -21876,43 +23395,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc620_5_5_5_rc0d */
+    /* gc7000nanoultra_4_6_5_rc3e */
     {
-        0x620, /* ChipID */
-        0x5550, /* ChipRevision */
-        0x6200, /* ProductID */
+        0x600, /* ChipID */
+        0x4653, /* ChipRevision */
+        0x70005, /* ProductID */
         0x0, /* EcoID */
-        0x201, /* CustomerID */
-        0x4, /* PatchVersion */
+        0x104, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -21920,7 +23454,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -21928,107 +23461,115 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
-        0x0, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x0, /* gcFEATURE_BIT_REG_ZCompression */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x0, /* gcFEATURE_BIT_REG_MSAA */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
         0x1, /* gcFEATURE_BIT_REG_NoEZ */
-        0x1, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x1, /* gcFEATURE_BIT_REG_NoScaler */
-        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
-        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
-        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x1, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x1, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
         0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
         0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x0, /* gcFEATURE_BIT_REG_FlipY */
-        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x0, /* gcFEATURE_BIT_REG_Texture8K */
-        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x0, /* gcFEATURE_BIT_REG_Render8K */
-        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
-        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
         0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x0, /* gcFEATURE_BIT_REG_PixelDither */
-        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
-        0x1, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
         0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x0, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x0, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
@@ -22041,24 +23582,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
-        0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
@@ -22073,8 +23614,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -22083,47 +23624,47 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x1, /* gcFEATURE_BIT_REG_DESupertile */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -22132,11 +23673,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
@@ -22196,7 +23737,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -22210,16 +23751,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -22229,9 +23760,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -22241,25 +23769,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
-        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -22271,27 +23788,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x1, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -22303,28 +23808,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -22334,23 +23892,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -22361,43 +23914,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc620s_5_5_5_rc1b */
+    /* gc620_5_5_3_rc0 */
     {
         0x620, /* ChipID */
-        0x5551, /* ChipRevision */
+        0x5530, /* ChipRevision */
         0x6200, /* ProductID */
         0x0, /* EcoID */
-        0x203, /* CustomerID */
-        0x2, /* PatchVersion */
+        0x200, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -22405,7 +23973,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -22413,6 +23980,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -22433,7 +24008,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x1, /* gcFEATURE_BIT_REG_NoScaler */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
         0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
@@ -22621,7 +24196,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
@@ -22695,16 +24270,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -22714,9 +24279,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -22726,15 +24288,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -22743,8 +24296,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -22757,26 +24308,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x1, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -22788,28 +24327,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x1, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -22819,23 +24411,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -22846,43 +24433,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc620tpc_5_5_6_rc0a */
+    /* gc620_5_5_5_rc0d */
     {
         0x620, /* ChipID */
-        0x5560, /* ChipRevision */
+        0x5550, /* ChipRevision */
         0x6200, /* ProductID */
         0x0, /* EcoID */
-        0x200, /* CustomerID */
-        0x1, /* PatchVersion */
+        0x201, /* CustomerID */
+        0x4, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -22890,7 +24492,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -22898,6 +24499,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -23180,16 +24789,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -23199,9 +24798,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -23211,25 +24807,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
-        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -23239,29 +24824,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
-        0x1, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -23273,28 +24846,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x1, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -23304,23 +24930,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -23331,43 +24952,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc860L_0x464x */
+    /* gc620s_5_5_5_rc1b */
     {
-        0x860, /* ChipID */
-        0x4647, /* ChipRevision */
-        0x0, /* ProductID */
+        0x620, /* ChipID */
+        0x5551, /* ChipRevision */
+        0x6200, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
-        0x4, /* PatchVersion */
+        0x203, /* CustomerID */
+        0x2, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -23375,7 +25011,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -23383,28 +25018,36 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
-        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
-        0x0, /* gcFEATURE_BIT_REG_NoEZ */
-        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x1, /* gcFEATURE_BIT_REG_NoEZ */
+        0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x0, /* gcFEATURE_BIT_REG_NoScaler */
-        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x1, /* gcFEATURE_BIT_REG_NoScaler */
+        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
@@ -23412,73 +25055,73 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
-        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x1, /* gcFEATURE_BIT_REG_FlipY */
-        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x1, /* gcFEATURE_BIT_REG_Texture8K */
-        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x0, /* gcFEATURE_BIT_REG_FlipY */
+        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_Texture8K */
+        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x1, /* gcFEATURE_BIT_REG_Render8K */
-        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x0, /* gcFEATURE_BIT_REG_Render8K */
+        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
         0x1, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
         0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x1, /* gcFEATURE_BIT_REG_PixelDither */
-        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x0, /* gcFEATURE_BIT_REG_PixelDither */
+        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
-        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x1, /* gcFEATURE_BIT_REG_New2D */
         0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
-        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x0, /* gcFEATURE_BIT_REG_WideLine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
@@ -23496,24 +25139,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
@@ -23528,8 +25171,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -23538,47 +25181,47 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -23587,12 +25230,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -23651,7 +25294,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -23665,16 +25308,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -23684,9 +25317,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -23696,25 +25326,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
-        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
-        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -23727,26 +25346,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -23758,28 +25365,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -23789,23 +25449,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -23816,43 +25471,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc880_5106 */
+    /* gc620tpc_5_5_6_rc0a */
     {
-        0x880, /* ChipID */
-        0x5106, /* ChipRevision */
-        0x0, /* ProductID */
+        0x620, /* ChipID */
+        0x5560, /* ChipRevision */
+        0x6200, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        0x200, /* CustomerID */
+        0x1, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xb, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x1, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -23860,7 +25530,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -23868,28 +25537,36 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
-        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x0, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
-        0x0, /* gcFEATURE_BIT_REG_NoEZ */
-        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x1, /* gcFEATURE_BIT_REG_NoEZ */
+        0x1, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x0, /* gcFEATURE_BIT_REG_NoScaler */
-        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x1, /* gcFEATURE_BIT_REG_NoScaler */
+        0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
@@ -23897,108 +25574,108 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PipeVG */
         0x0, /* gcFEATURE_BIT_REG_VGTS */
         0x0, /* gcFEATURE_BIT_REG_FE20 */
-        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
-        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
-        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
-        0x1, /* gcFEATURE_BIT_REG_FlipY */
-        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
-        0x1, /* gcFEATURE_BIT_REG_Texture8K */
-        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
-        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
-        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x0, /* gcFEATURE_BIT_REG_FlipY */
+        0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_Texture8K */
+        0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
-        0x1, /* gcFEATURE_BIT_REG_Render8K */
-        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
-        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_Render8K */
+        0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
         0x0, /* gcFEATURE_BIT_REG_VG20 */
         0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
-        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
         0x0, /* gcFEATURE_BIT_REG_VGFilter */
         0x0, /* gcFEATURE_BIT_REG_VG21 */
-        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
         0x1, /* gcFEATURE_BIT_REG_MC20 */
-        0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
-        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
-        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
-        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
-        0x1, /* gcFEATURE_BIT_REG_PixelDither */
-        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x0, /* gcFEATURE_BIT_REG_PixelDither */
+        0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
-        0x0, /* gcFEATURE_BIT_REG_New2D */
-        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
-        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x1, /* gcFEATURE_BIT_REG_New2D */
+        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
-        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
-        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
-        0x0, /* gcFEATURE_BIT_REG_MMU */
-        0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x0, /* gcFEATURE_BIT_REG_WideLine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
-        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
-        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
-        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
@@ -24013,8 +25690,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -24033,37 +25710,37 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
-        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
-        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
-        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
-        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
-        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
@@ -24072,12 +25749,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
-        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
-        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
-        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -24150,16 +25827,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -24169,9 +25836,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -24181,25 +25845,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
-        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
-        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -24209,29 +25862,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
-        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -24243,28 +25884,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -24274,23 +25968,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -24301,43 +25990,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc880_5122 */
+    /* gc860L_0x464x */
     {
-        0x880, /* ChipID */
-        0x5122, /* ChipRevision */
-        0x70007, /* ProductID */
+        0x860, /* ChipID */
+        0x4647, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x4, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xc, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -24345,7 +26049,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -24353,6 +26056,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -24360,11 +26071,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x0, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
@@ -24373,7 +26084,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x1, /* gcFEATURE_BIT_REG_NoScaler */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
         0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
@@ -24387,13 +26098,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
         0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
         0x1, /* gcFEATURE_BIT_REG_Render8K */
         0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
         0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
@@ -24408,13 +26119,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
         0x1, /* gcFEATURE_BIT_REG_MC20 */
-        0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
-        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
@@ -24423,52 +26134,52 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
         0x0, /* gcFEATURE_BIT_REG_TextureStride */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
-        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x1, /* gcFEATURE_BIT_REG_Halti0 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x0, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
-        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
-        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
-        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
@@ -24480,7 +26191,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
@@ -24508,13 +26219,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
@@ -24530,7 +26241,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_Halti2 */
-        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
         0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
@@ -24562,7 +26273,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -24621,7 +26332,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -24635,16 +26346,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -24654,9 +26355,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -24666,15 +26364,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -24683,8 +26372,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -24697,26 +26384,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -24728,28 +26403,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -24759,23 +26487,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -24786,43 +26509,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc880TM_0x512x */
+    /* gc880_5106 */
     {
         0x880, /* ChipID */
-        0x5124, /* ChipRevision */
-        0x70007, /* ProductID */
+        0x5106, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x2, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xc, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xb, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -24830,7 +26568,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -24838,22 +26575,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x0, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x1, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
@@ -24872,7 +26617,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -24897,11 +26642,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
-        0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
@@ -24930,16 +26675,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
-        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x0, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
-        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
-        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
@@ -24953,7 +26698,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
@@ -24961,12 +26706,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
@@ -25047,7 +26792,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -25120,16 +26865,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -25139,9 +26874,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -25151,15 +26883,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -25168,8 +26891,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -25182,26 +26903,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -25213,28 +26922,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -25244,23 +27006,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -25271,43 +27028,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc880TM_0x512x */
+    /* gc880_5122 */
     {
         0x880, /* ChipID */
-        0x5124, /* ChipRevision */
+        0x5122, /* ChipRevision */
         0x70007, /* ProductID */
         0x0, /* EcoID */
-        0x103, /* CustomerID */
-        0x2, /* PatchVersion */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0xc, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -25315,7 +27087,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -25323,13 +27094,21 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x1, /* gcFEATURE_BIT_REG_Pipe2D */
@@ -25338,12 +27117,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x1, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
-        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_NoScaler */
         0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
@@ -25386,7 +27165,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
-        0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
@@ -25438,7 +27217,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
@@ -25462,7 +27241,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
@@ -25605,16 +27384,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -25624,9 +27393,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -25636,15 +27402,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -25653,8 +27410,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -25667,26 +27422,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -25698,28 +27441,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -25729,23 +27525,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -25756,43 +27547,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc900_5250 */
+    /* gc880TM_0x512x */
     {
-        0x900, /* ChipID */
-        0x5250, /* ChipRevision */
-        0x0, /* ProductID */
+        0x880, /* ChipID */
+        0x5124, /* ChipRevision */
+        0x70007, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x2, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
-        0x200, /* gcFEATURE_VALUE_TempRegisters */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x2, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xc, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -25800,7 +27606,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -25808,22 +27613,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x0, /* gcFEATURE_BIT_REG_FastScaler */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
@@ -25863,7 +27676,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
         0x1, /* gcFEATURE_BIT_REG_MC20 */
-        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
@@ -25871,7 +27684,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
-        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
@@ -25883,7 +27696,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
-        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
@@ -25905,29 +27718,29 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x1, /* gcFEATURE_BIT_REG_LineLoop */
-        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x1, /* gcFEATURE_BIT_REG_LinearPE */
-        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x0, /* gcFEATURE_BIT_REG_LinearPE */
+        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
-        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
-        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
-        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
@@ -25935,42 +27748,42 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
-        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x0, /* gcFEATURE_BIT_REG_Generics */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
-        0x1, /* gcFEATURE_BIT_REG_NewHZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_NewHZ */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
@@ -25979,7 +27792,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
@@ -25993,7 +27806,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
@@ -26004,11 +27817,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
@@ -26017,7 +27830,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -26090,16 +27903,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -26109,9 +27912,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -26121,15 +27921,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -26138,8 +27929,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -26152,26 +27941,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -26183,28 +27960,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -26214,23 +28044,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -26241,43 +28066,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc1000_5036 */
+    /* gc880TM_0x512x */
     {
-        0x1000, /* ChipID */
-        0x5036, /* ChipRevision */
-        0x0, /* ProductID */
+        0x880, /* ChipID */
+        0x5124, /* ChipRevision */
+        0x70007, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
+        0x103, /* CustomerID */
+        0x2, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -26285,7 +28125,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -26293,10 +28132,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
-        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
         0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
@@ -26304,11 +28151,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x1, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
-        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x0, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
@@ -26327,7 +28174,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -26348,15 +28195,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
         0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
         0x1, /* gcFEATURE_BIT_REG_MC20 */
-        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
-        0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
-        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
         0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
@@ -26371,44 +28218,44 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
-        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x0, /* gcFEATURE_BIT_REG_Halti0 */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
-        0x0, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
-        0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
-        0x0, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
-        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
@@ -26420,24 +28267,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
-        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x0, /* gcFEATURE_BIT_REG_Generics */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
@@ -26446,9 +28293,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
-        0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
-        0x1, /* gcFEATURE_BIT_REG_NewHZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x0, /* gcFEATURE_BIT_REG_NewHZ */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
@@ -26502,7 +28349,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -26561,7 +28408,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -26575,16 +28422,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -26594,9 +28431,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -26606,15 +28440,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -26623,8 +28448,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -26637,26 +28460,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -26668,28 +28479,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -26699,23 +28563,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -26726,43 +28585,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc1000_5037 */
+    /* gc900_5250 */
     {
-        0x1000, /* ChipID */
-        0x5037, /* ChipRevision */
+        0x900, /* ChipID */
+        0x5250, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
-        0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x200, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
-        0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x0, /* gcFEATURE_VALUE_L1CacheSize */
+        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x2, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -26770,7 +28644,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -26778,19 +28651,27 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
@@ -26812,7 +28693,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -26837,9 +28718,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
-        0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
@@ -26853,51 +28734,51 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
-        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
-        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x0, /* gcFEATURE_BIT_REG_Halti0 */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
-        0x0, /* gcFEATURE_BIT_REG_LineLoop */
-        0x0, /* gcFEATURE_BIT_REG_LogicOp */
-        0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
-        0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x0, /* gcFEATURE_BIT_REG_LinearPE */
-        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
-        0x0, /* gcFEATURE_BIT_REG_PESwizzle */
-        0x0, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
-        0x0, /* gcFEATURE_BIT_REG_Halti1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
@@ -26909,38 +28790,38 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x0, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
-        0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
@@ -26949,7 +28830,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
@@ -26963,7 +28844,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
@@ -26974,11 +28855,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x0, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
@@ -27046,7 +28927,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -27060,16 +28941,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -27079,9 +28950,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -27091,15 +28959,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -27108,8 +28967,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -27122,26 +28979,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -27153,28 +28998,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -27184,23 +29082,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -27211,43 +29104,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc1000_5037_1 */
+    /* gc1000_5036 */
     {
         0x1000, /* ChipID */
-        0x5037, /* ChipRevision */
+        0x5036, /* ChipRevision */
         0x0, /* ProductID */
-        0x1, /* EcoID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -27255,7 +29163,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -27263,16 +29170,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
@@ -27545,16 +29460,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -27564,9 +29469,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -27576,15 +29478,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -27593,8 +29486,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -27607,26 +29498,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -27638,28 +29517,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -27669,23 +29601,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -27696,43 +29623,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc1000_5039 */
+    /* gc1000_5037 */
     {
         0x1000, /* ChipID */
-        0x5039, /* ChipRevision */
+        0x5037, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x11, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x100, /* gcFEATURE_VALUE_InstructionCount */
         0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -27740,7 +29682,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -27748,16 +29689,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
@@ -27833,8 +29782,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_New2D */
         0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
@@ -27848,7 +29797,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
@@ -28030,16 +29979,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -28049,9 +29988,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -28061,15 +29997,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -28078,8 +30005,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -28092,26 +30017,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -28123,28 +30036,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -28154,23 +30120,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -28181,43 +30142,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc1500_5246 */
+    /* gc1000_5037_1 */
     {
-        0x1500, /* ChipID */
-        0x5246, /* ChipRevision */
-        0x70003, /* ProductID */
-        0x0, /* EcoID */
+        0x1000, /* ChipID */
+        0x5037, /* ChipRevision */
+        0x0, /* ProductID */
+        0x1, /* EcoID */
         0x0, /* CustomerID */
-        0x6, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x400, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
-        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x2, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -28225,7 +30201,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -28233,6 +30208,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -28245,7 +30228,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
@@ -28267,7 +30250,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -28292,9 +30275,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
-        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
@@ -28308,51 +30291,51 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
-        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
-        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
-        0x1, /* gcFEATURE_BIT_REG_LineLoop */
-        0x1, /* gcFEATURE_BIT_REG_LogicOp */
-        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x1, /* gcFEATURE_BIT_REG_LinearPE */
-        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_LineLoop */
+        0x0, /* gcFEATURE_BIT_REG_LogicOp */
+        0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x0, /* gcFEATURE_BIT_REG_LinearPE */
+        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
-        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
-        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
-        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
@@ -28371,12 +30354,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
@@ -28385,17 +30368,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
-        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
@@ -28404,7 +30387,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
@@ -28418,7 +30401,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
@@ -28429,11 +30412,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
@@ -28442,7 +30425,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -28491,7 +30474,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
-        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
         0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
@@ -28501,7 +30484,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -28515,16 +30498,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -28534,9 +30507,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -28546,15 +30516,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -28563,8 +30524,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -28577,26 +30536,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -28608,28 +30555,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -28639,23 +30639,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -28666,43 +30661,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc2000_5108 */
+    /* gc1000_5039 */
     {
-        0x2000, /* ChipID */
-        0x5108, /* ChipRevision */
+        0x1000, /* ChipID */
+        0x5039, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x11, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xb, /* gcFEATURE_VALUE_VaryingCount */
-        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x4, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -28710,7 +30720,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -28718,6 +30727,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -28734,7 +30751,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
-        0x1, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
@@ -28779,7 +30796,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
-        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
@@ -28796,64 +30813,64 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
-        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
-        0x0, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x0, /* gcFEATURE_BIT_REG_LineLoop */
         0x0, /* gcFEATURE_BIT_REG_LogicOp */
         0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x0, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
-        0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x0, /* gcFEATURE_BIT_REG_TileFiller */
-        0x0, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
         0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
-        0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x0, /* gcFEATURE_BIT_REG_Generics */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
@@ -28862,7 +30879,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
@@ -28871,9 +30888,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
-        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
-        0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
@@ -28976,7 +30993,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
-        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
         0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
@@ -28986,7 +31003,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -29000,16 +31017,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -29019,9 +31026,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -29031,15 +31035,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -29048,8 +31043,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -29062,26 +31055,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -29093,28 +31074,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -29124,23 +31158,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -29151,43 +31180,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc2000_5140 */
+    /* gc1500_5246 */
     {
-        0x2000, /* ChipID */
-        0x5140, /* ChipRevision */
-        0x0, /* ProductID */
+        0x1500, /* ChipID */
+        0x5246, /* ChipRevision */
+        0x70003, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x5, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        0x6, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x400, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x2, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -29195,7 +31239,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -29203,6 +31246,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -29215,10 +31266,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x1, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
@@ -29262,7 +31313,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
@@ -29278,10 +31329,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
-        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
@@ -29290,7 +31341,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x0, /* gcFEATURE_BIT_REG_Halti0 */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
@@ -29298,40 +31349,40 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x1, /* gcFEATURE_BIT_REG_LineLoop */
         0x1, /* gcFEATURE_BIT_REG_LogicOp */
         0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x1, /* gcFEATURE_BIT_REG_LinearPE */
-        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
-        0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
-        0x0, /* gcFEATURE_BIT_REG_Halti1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
-        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
@@ -29342,12 +31393,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
@@ -29355,15 +31406,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
@@ -29374,7 +31425,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
@@ -29388,7 +31439,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
         0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
@@ -29399,11 +31450,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x0, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
         0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
@@ -29412,7 +31463,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -29485,16 +31536,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -29504,9 +31545,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -29516,15 +31554,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -29533,8 +31562,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -29547,26 +31574,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -29578,28 +31593,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -29609,23 +31677,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -29636,43 +31699,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc2000w_5_1_4_rc0e */
+    /* gc2000_5108 */
     {
         0x2000, /* ChipID */
-        0x5140, /* ChipRevision */
-        0x20000, /* ProductID */
+        0x5108, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x5, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xb, /* gcFEATURE_VALUE_VaryingCount */
+        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -29680,7 +31758,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -29688,6 +31765,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -29703,8 +31788,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x1, /* gcFEATURE_BIT_REG_MinArea */
-        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
@@ -29722,7 +31807,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -29766,7 +31851,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
@@ -29775,25 +31860,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x0, /* gcFEATURE_BIT_REG_Halti0 */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
-        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x0, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
-        0x1, /* gcFEATURE_BIT_REG_LineLoop */
-        0x1, /* gcFEATURE_BIT_REG_LogicOp */
-        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
-        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
-        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x0, /* gcFEATURE_BIT_REG_LineLoop */
+        0x0, /* gcFEATURE_BIT_REG_LogicOp */
+        0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x0, /* gcFEATURE_BIT_REG_LinearPE */
         0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x0, /* gcFEATURE_BIT_REG_PESwizzle */
-        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x0, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
@@ -29803,35 +31888,35 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
-        0x1, /* gcFEATURE_BIT_REG_TileFiller */
-        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
         0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
-        0x1, /* gcFEATURE_BIT_REG_Interleaver */
-        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_Interleaver */
+        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
         0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
-        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x0, /* gcFEATURE_BIT_REG_Generics */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
@@ -29842,15 +31927,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
-        0x1, /* gcFEATURE_BIT_REG_NewHZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_NewHZ */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
@@ -29897,7 +31982,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -29970,16 +32055,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -29989,9 +32064,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -30001,15 +32073,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -30018,8 +32081,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -30032,26 +32093,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -30063,28 +32112,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -30094,23 +32196,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -30121,43 +32218,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc2500_5422 */
+    /* gc2000_5140 */
     {
-        0x2500, /* ChipID */
-        0x5422, /* ChipRevision */
+        0x2000, /* ChipID */
+        0x5140, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x12, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x5, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
-        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x4, /* gcFEATURE_VALUE_L1CacheSize */
-        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -30165,7 +32277,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -30173,6 +32284,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -30185,10 +32304,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
@@ -30238,7 +32357,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -30248,10 +32367,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
-        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
@@ -30260,7 +32379,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
@@ -30268,109 +32387,109 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x1, /* gcFEATURE_BIT_REG_LineLoop */
         0x1, /* gcFEATURE_BIT_REG_LogicOp */
         0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x1, /* gcFEATURE_BIT_REG_LinearPE */
-        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
-        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
-        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x1, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
-        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
-        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
-        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
@@ -30393,7 +32512,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x0, /* gcFEATURE_BIT_REG_RSS8 */
-        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -30455,16 +32574,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -30474,9 +32583,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -30486,15 +32592,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -30503,8 +32600,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -30517,26 +32612,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -30548,28 +32631,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -30579,23 +32715,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -30606,43 +32737,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc6400_5422 */
+    /* gc2000w_5_1_4_rc0e */
     {
-        0x6400, /* ChipID */
-        0x5422, /* ChipRevision */
-        0x0, /* ProductID */
+        0x2000, /* ChipID */
+        0x5140, /* ChipRevision */
+        0x20000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x16, /* PatchVersion */
+        0x5, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
-        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -30650,7 +32796,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -30658,6 +32803,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -30670,10 +32823,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
-        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
-        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
         0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
@@ -30723,7 +32876,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -30733,10 +32886,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
         0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
         0x0, /* gcFEATURE_BIT_REG_L2Windowing */
-        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
-        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
         0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
@@ -30745,7 +32898,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
-        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
@@ -30753,109 +32906,109 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MMU */
         0x1, /* gcFEATURE_BIT_REG_WideLine */
         0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
-        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x1, /* gcFEATURE_BIT_REG_LineLoop */
         0x1, /* gcFEATURE_BIT_REG_LogicOp */
         0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
         0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x1, /* gcFEATURE_BIT_REG_LinearPE */
-        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
         0x0, /* gcFEATURE_BIT_REG_Composition */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
-        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x0, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x0, /* gcFEATURE_BIT_REG_S1S8 */
-        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
-        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
-        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
         0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
         0x0, /* gcFEATURE_BIT_REG_YUVConversion */
-        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x1, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
-        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
-        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
-        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
@@ -30867,7 +33020,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -30878,7 +33031,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x0, /* gcFEATURE_BIT_REG_RSS8 */
-        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -30940,16 +33093,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -30959,9 +33102,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -30971,15 +33111,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -30988,8 +33119,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -31002,26 +33131,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -31033,28 +33150,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -31064,23 +33234,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -31091,43 +33256,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc3000_5435 */
+    /* gc2500_5422 */
     {
-        0x3000, /* ChipID */
-        0x5435, /* ChipRevision */
+        0x2500, /* ChipID */
+        0x5422, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x12, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -31135,7 +33315,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -31143,6 +33322,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -31339,7 +33526,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
@@ -31363,7 +33550,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x0, /* gcFEATURE_BIT_REG_RSS8 */
-        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -31396,7 +33583,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
@@ -31425,16 +33612,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -31444,9 +33621,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -31456,15 +33630,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -31473,8 +33638,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -31487,26 +33650,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -31518,28 +33669,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -31549,23 +33753,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -31576,43 +33775,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc2000_ffff5450 */
+    /* gc6400_5422 */
     {
-        0x2000, /* ChipID */
-        0xffff5450, /* ChipRevision */
+        0x6400, /* ChipID */
+        0x5422, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x8, /* PatchVersion */
+        0x16, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x4, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -31620,7 +33834,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -31628,6 +33841,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -31824,11 +34045,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
@@ -31881,7 +34102,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
@@ -31910,16 +34131,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -31929,9 +34140,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -31939,17 +34147,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -31958,8 +34157,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -31972,26 +34169,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -32003,28 +34188,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -32034,23 +34272,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -32061,43 +34294,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc3000_5450 */
+    /* gc3000_5435 */
     {
         0x3000, /* ChipID */
-        0x5450, /* ChipRevision */
+        0x5435, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x8, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -32105,7 +34353,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -32113,6 +34360,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -32313,7 +34568,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
@@ -32333,7 +34588,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x0, /* gcFEATURE_BIT_REG_RSS8 */
-        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -32395,16 +34650,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -32414,9 +34659,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -32424,17 +34666,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -32443,8 +34676,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -32457,26 +34688,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -32488,28 +34707,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -32519,23 +34791,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -32546,43 +34813,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc3000_5451 */
+    /* gc2000_ffff5450 */
     {
-        0x3000, /* ChipID */
-        0x5451, /* ChipRevision */
+        0x2000, /* ChipID */
+        0xffff5450, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x4, /* PatchVersion */
+        0x8, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -32590,7 +34872,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -32598,6 +34879,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -32808,16 +35097,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
-        0x1, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
         0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x0, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
@@ -32880,16 +35169,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -32899,9 +35178,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -32909,17 +35185,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -32928,8 +35195,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -32942,26 +35207,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -32973,28 +35226,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -33004,23 +35310,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -33031,43 +35332,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_551x */
+    /* gc3000_5450 */
     {
         0x3000, /* ChipID */
-        0x5512, /* ChipRevision */
-        0x70002, /* ProductID */
+        0x5450, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x3, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x8, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -33075,7 +35391,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -33083,6 +35398,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -33117,7 +35440,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -33189,7 +35512,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
-        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
@@ -33224,7 +35547,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
@@ -33270,7 +35593,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -33284,25 +35607,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
-        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
-        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x0, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
@@ -33365,47 +35688,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
-        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
@@ -33413,8 +35714,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -33426,27 +35725,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -33458,28 +35745,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -33489,23 +35829,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -33516,43 +35851,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_5512 */
+    /* gc3000_5451 */
     {
         0x3000, /* ChipID */
-        0x5512, /* ChipRevision */
-        0x70002, /* ProductID */
+        0x5451, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x3, /* PatchVersion */
+        0x4, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -33560,7 +35910,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -33568,6 +35917,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -33602,7 +35959,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -33674,7 +36031,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
-        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
@@ -33709,7 +36066,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
@@ -33755,7 +36112,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -33769,23 +36126,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
-        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
-        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
         0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
-        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
@@ -33850,47 +36207,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
-        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
@@ -33898,8 +36233,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -33911,27 +36244,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -33943,28 +36264,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -33974,23 +36348,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -34001,43 +36370,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_5514 */
+    /* gc7000L_551x */
     {
         0x3000, /* ChipID */
-        0x5514, /* ChipRevision */
+        0x5512, /* ChipRevision */
         0x70002, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x3, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -34045,7 +36429,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -34053,6 +36436,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -34335,28 +36726,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -34366,25 +36744,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -34392,31 +36759,19 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
-        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -34428,28 +36783,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -34459,23 +36867,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -34486,43 +36889,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc4000_5222 */
+    /* gc7000L_5512 */
     {
-        0x4000, /* ChipID */
-        0x5222, /* ChipRevision */
-        0x0, /* ProductID */
+        0x3000, /* ChipID */
+        0x5512, /* ChipRevision */
+        0x70002, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x3, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x4, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x800, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x800, /* gcFEATURE_VALUE_InstructionCount */
-        0x200, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xb, /* gcFEATURE_VALUE_VaryingCount */
-        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
-        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -34530,7 +36948,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -34538,6 +36955,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -34572,7 +36997,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -34603,7 +37028,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -34640,18 +37065,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x1, /* gcFEATURE_BIT_REG_LinearPE */
         0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
-        0x1, /* gcFEATURE_BIT_REG_Composition */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
-        0x0, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
@@ -34663,102 +37088,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
-        0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
-        0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x0, /* gcFEATURE_BIT_REG_Generics */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
-        0x0, /* gcFEATURE_BIT_REG_NewHZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
-        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_Halti2 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
-        0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
-        0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x0, /* gcFEATURE_BIT_REG_Probe */
-        0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x0, /* gcFEATURE_BIT_REG_EEZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x0, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
-        0x0, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
-        0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x0, /* gcFEATURE_BIT_REG_RSS8 */
-        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -34791,7 +37216,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
@@ -34820,47 +37245,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
-        0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
-        0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
@@ -34868,8 +37271,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -34881,27 +37282,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -34913,28 +37302,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -34944,23 +37386,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -34971,43 +37408,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc4000_5245 */
+    /* gc7000L_5514 */
     {
-        0x4000, /* ChipID */
-        0x5245, /* ChipRevision */
-        0x0, /* ProductID */
+        0x3000, /* ChipID */
+        0x5514, /* ChipRevision */
+        0x70002, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x4, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x400, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
-        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
-        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -35015,7 +37467,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -35023,6 +37474,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -35057,7 +37516,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -35088,7 +37547,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -35129,14 +37588,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
-        0x0, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
@@ -35153,28 +37612,28 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
@@ -35189,61 +37648,61 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
-        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
-        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_Halti2 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
-        0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
-        0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x0, /* gcFEATURE_BIT_REG_Probe */
-        0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x0, /* gcFEATURE_BIT_REG_EEZ */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x0, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
-        0x0, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
-        0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x0, /* gcFEATURE_BIT_REG_RSS8 */
-        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -35276,7 +37735,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
@@ -35305,56 +37764,32 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
-        0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
-        0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
-        0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -35362,31 +37797,19 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
-        0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -35398,64 +37821,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
         0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -35464,35 +37848,137 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
-    },
-    /* gc5000_5434 */
-    {
-        0x5000, /* ChipID */
-        0x5434, /* ChipRevision */
-        0x0, /* ProductID */
-        0x0, /* EcoID */
-        0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
-        0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
-        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
-        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc4000_5222 */
+    {
+        0x4000, /* ChipID */
+        0x5222, /* ChipRevision */
+        0x0, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x800, /* gcFEATURE_VALUE_InstructionCount */
+        0x200, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xb, /* gcFEATURE_VALUE_VaryingCount */
+        0x800, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -35500,7 +37986,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -35508,6 +37993,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -35573,7 +38066,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -35610,7 +38103,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
         0x1, /* gcFEATURE_BIT_REG_LinearPE */
         0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
-        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_Composition */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
@@ -35620,8 +38113,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
@@ -35633,79 +38126,79 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
         0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
-        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
         0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
-        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x1, /* gcFEATURE_BIT_REG_Generics */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
-        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
         0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
-        0x1, /* gcFEATURE_BIT_REG_NewHZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_NewHZ */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
-        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
         0x0, /* gcFEATURE_BIT_REG_Probe */
-        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
         0x0, /* gcFEATURE_BIT_REG_EEZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
@@ -35761,7 +38254,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
@@ -35790,16 +38283,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -35809,9 +38292,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -35821,15 +38301,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -35838,8 +38309,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -35852,26 +38321,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -35883,28 +38340,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -35914,23 +38424,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -35941,43 +38446,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000_551x */
+    /* gc4000_5245 */
     {
-        0x5000, /* ChipID */
-        0x5513, /* ChipRevision */
-        0x70000, /* ProductID */
+        0x4000, /* ChipID */
+        0x5245, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x1, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x400, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
-        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -35985,7 +38505,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -35993,6 +38512,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -36027,7 +38554,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -36058,7 +38585,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -36099,14 +38626,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
-        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
-        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
-        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
         0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
@@ -36123,28 +38650,28 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
-        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
         0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
-        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
         0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
         0x1, /* gcFEATURE_BIT_REG_NewHZ */
@@ -36159,61 +38686,61 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
         0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
-        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
-        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
         0x0, /* gcFEATURE_BIT_REG_CSCV2 */
-        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
-        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
-        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
-        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x1, /* gcFEATURE_BIT_REG_RSS8 */
-        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_RSS8 */
+        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -36246,7 +38773,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
@@ -36275,47 +38802,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
-        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
@@ -36323,8 +38828,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -36336,27 +38839,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -36368,28 +38859,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -36399,23 +38943,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -36426,43 +38965,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000_5513 */
+    /* gc5000_5434 */
     {
         0x5000, /* ChipID */
-        0x5513, /* ChipRevision */
-        0x70000, /* ProductID */
+        0x5434, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x1, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x1, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -36470,7 +39024,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -36478,6 +39031,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -36512,7 +39073,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
         0x1, /* gcFEATURE_BIT_REG_FlipY */
         0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
-        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
         0x1, /* gcFEATURE_BIT_REG_Texture8K */
         0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
@@ -36584,7 +39145,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
         0x1, /* gcFEATURE_BIT_REG_PESwizzle */
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
-        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x0, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
@@ -36619,7 +39180,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
@@ -36665,7 +39226,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -36674,31 +39235,31 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x0, /* gcFEATURE_BIT_REG_Halti3 */
         0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
-        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x0, /* gcFEATURE_BIT_REG_Halti4 */
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
-        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x1, /* gcFEATURE_BIT_REG_RSS8 */
-        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_RSS8 */
+        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
@@ -36760,47 +39321,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
-        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
@@ -36808,8 +39347,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -36821,27 +39358,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
-        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -36853,28 +39378,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x1, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x0, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -36884,23 +39462,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -36911,43 +39484,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gcXAQ2_CMODEL */
+    /* gc7000_551x */
     {
-        0x7000, /* ChipID */
-        0x0, /* ChipRevision */
-        0x0, /* ProductID */
+        0x5000, /* ChipID */
+        0x5513, /* ChipRevision */
+        0x70000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x1, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x40, /* gcFEATURE_VALUE_L1CacheSize */
-        0x100, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -36955,7 +39543,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -36963,16 +39550,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
@@ -37020,7 +39615,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
-        0x1, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
@@ -37032,7 +39627,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
-        0x1, /* gcFEATURE_BIT_REG_TextureStride */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
         0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
@@ -37042,7 +39637,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
@@ -37051,7 +39646,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x1, /* gcFEATURE_BIT_REG_Halti0 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
@@ -37071,7 +39666,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
-        0x1, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
@@ -37080,8 +39675,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
         0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x1, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
@@ -37093,9 +39688,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -37109,7 +39704,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x0, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -37130,19 +39725,19 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
@@ -37153,40 +39748,40 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x0, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x1, /* gcFEATURE_BIT_REG_Halti4 */
-        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
-        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
-        0x1, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
-        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
-        0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -37206,8 +39801,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
-        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x0, /* gcFEATURE_BIT_NO_ASTC */
@@ -37231,7 +39826,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -37245,56 +39840,32 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
-        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -37302,31 +39873,19 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
-        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -37338,28 +39897,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -37369,23 +39981,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -37396,43 +40003,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_600x */
+    /* gc7000_5513 */
     {
-        0x7000, /* ChipID */
-        0x6008, /* ChipRevision */
-        0x70004, /* ProductID */
+        0x5000, /* ChipID */
+        0x5513, /* ChipRevision */
+        0x70000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0xb, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x1, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -37440,7 +40062,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -37448,6 +40069,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -37580,7 +40209,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -37615,7 +40244,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
@@ -37623,7 +40252,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
@@ -37638,7 +40267,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
@@ -37650,18 +40279,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x1, /* gcFEATURE_BIT_REG_Halti4 */
-        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
-        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
-        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
         0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
@@ -37669,10 +40298,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
-        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -37685,30 +40314,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
-        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x0, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
         0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
-        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -37730,56 +40359,32 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
-        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -37787,31 +40392,19 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
-        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -37823,28 +40416,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -37854,23 +40500,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -37881,43 +40522,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_6008 */
+    /* gcXAQ2_CMODEL */
     {
         0x7000, /* ChipID */
-        0x6008, /* ChipRevision */
-        0x70004, /* ProductID */
+        0x0, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0xb, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
         0x40, /* gcFEATURE_VALUE_LocalStorageSize */
         0x40, /* gcFEATURE_VALUE_L1CacheSize */
-        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x100, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -37925,7 +40581,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -37933,16 +40588,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
-        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
         0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
@@ -37990,7 +40653,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MC20 */
         0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
-        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x1, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
         0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
@@ -38002,7 +40665,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
-        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_TextureStride */
         0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
         0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
@@ -38012,7 +40675,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PixelDither */
         0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
         0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
-        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
         0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
         0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
         0x0, /* gcFEATURE_BIT_REG_New2D */
@@ -38021,7 +40684,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
         0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x1, /* gcFEATURE_BIT_REG_Halti0 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
         0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
         0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
@@ -38041,7 +40704,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_EndEvent */
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
-        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_RGB888 */
         0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
@@ -38050,8 +40713,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
         0x1, /* gcFEATURE_BIT_REG_TileFiller */
         0x1, /* gcFEATURE_BIT_REG_YUVStandard */
-        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
-        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x1, /* gcFEATURE_BIT_REG_YUVConversion */
         0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
         0x1, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
@@ -38063,7 +40726,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
         0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
-        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
         0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
@@ -38079,7 +40742,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
-        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x0, /* gcFEATURE_BIT_REG_ACE */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
@@ -38107,12 +40770,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
         0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
         0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
@@ -38124,12 +40787,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
-        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
         0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
         0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
-        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x0, /* gcFEATURE_BIT_REG_EEZ */
         0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
@@ -38142,22 +40805,22 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Halti4 */
         0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
-        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
         0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
-        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x1, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
-        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
-        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -38170,7 +40833,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
-        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x0, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
         0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
@@ -38178,22 +40841,22 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -38201,7 +40864,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
-        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
         0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
@@ -38215,29 +40878,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
-        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
@@ -38246,25 +40896,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
-        0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -38277,26 +40916,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -38308,28 +40935,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -38339,23 +41019,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -38366,43 +41041,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XSVX_600x */
+    /* gc7000XS_600x */
     {
         0x7000, /* ChipID */
         0x6008, /* ChipRevision */
-        0x70008, /* ProductID */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0xb, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
         0x40, /* gcFEATURE_VALUE_LocalStorageSize */
         0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -38410,7 +41100,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -38418,6 +41107,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -38640,9 +41337,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -38699,17 +41396,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_ROBUSTNESS */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
-        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -38719,9 +41406,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -38731,25 +41415,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -38762,26 +41435,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -38793,28 +41454,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -38824,23 +41538,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -38851,43 +41560,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XSVX_6008 */
+    /* gc7000XS_6008 */
     {
         0x7000, /* ChipID */
         0x6008, /* ChipRevision */
-        0x70008, /* ProductID */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x7, /* PatchVersion */
+        0xb, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
         0x40, /* gcFEATURE_VALUE_LocalStorageSize */
         0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -38895,7 +41619,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -38903,6 +41626,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -39125,9 +41856,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -39184,17 +41915,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_ROBUSTNESS */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
-        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -39204,9 +41925,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -39216,25 +41934,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -39247,26 +41954,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -39278,28 +41973,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -39309,23 +42057,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -39336,43 +42079,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XSVX_6009 */
+    /* gc7000XSVX_600x */
     {
         0x7000, /* ChipID */
-        0x6009, /* ChipRevision */
+        0x6008, /* ChipRevision */
         0x70008, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x9, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
         0x40, /* gcFEATURE_VALUE_LocalStorageSize */
         0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -39380,7 +42138,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -39388,6 +42145,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -39612,7 +42377,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x1, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -39641,13 +42406,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
         0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
         0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
         0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
-        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
         0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
@@ -39667,19 +42432,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY */
         0x0, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -39689,9 +42444,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -39701,25 +42453,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
-        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -39732,26 +42473,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -39763,28 +42492,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -39794,23 +42576,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -39821,43 +42598,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000_6100 */
+    /* gc7000XSVX_6008 */
     {
         0x7000, /* ChipID */
-        0x6100, /* ChipRevision */
-        0x70000, /* ProductID */
+        0x6008, /* ChipRevision */
+        0x70008, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x7, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -39865,7 +42657,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -39873,6 +42664,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -39883,7 +42682,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
@@ -40005,7 +42804,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -40075,7 +42874,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -40095,9 +42894,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x0, /* gcFEATURE_BIT_REG_BltEngine */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -40117,30 +42916,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x0, /* gcFEATURE_BIT_HWTFB */
-        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
-        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
-        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
-        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
-        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
-        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
-        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
@@ -40149,22 +42948,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY */
         0x0, /* gcFEATURE_BIT_ROBUSTNESS */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -40174,9 +42963,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -40186,25 +42972,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
-        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -40217,26 +42992,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -40248,28 +43011,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -40279,23 +43095,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -40306,43 +43117,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_6100 */
+    /* gc7000XSVX_6009 */
     {
         0x7000, /* ChipID */
-        0x6100, /* ChipRevision */
-        0x70002, /* ProductID */
+        0x6009, /* ChipRevision */
+        0x70008, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x9, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -40350,7 +43176,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -40358,6 +43183,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -40368,7 +43201,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
@@ -40490,7 +43323,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -40560,7 +43393,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -40580,8 +43413,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -40602,30 +43435,30 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x0, /* gcFEATURE_BIT_HWTFB */
-        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
-        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
         0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
-        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
-        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
-        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
-        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
@@ -40634,22 +43467,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY */
         0x0, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -40659,9 +43482,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -40671,15 +43491,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -40688,8 +43499,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -40702,26 +43511,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -40733,28 +43530,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -40764,23 +43614,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -40791,43 +43636,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_6100 */
+    /* gc7000XSVX_6009 */
     {
         0x7000, /* ChipID */
-        0x6100, /* ChipRevision */
-        0x70004, /* ProductID */
-        0x0, /* EcoID */
+        0x6009, /* ChipRevision */
+        0x70008, /* ProductID */
+        0x1, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x9, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
         0x40, /* gcFEATURE_VALUE_LocalStorageSize */
         0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -40835,7 +43695,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -40843,6 +43702,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -40853,7 +43720,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
@@ -41065,7 +43932,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -41093,24 +43960,24 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x1, /* gcFEATURE_BIT_HWTFB */
-        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
-        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
         0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
-        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
         0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
-        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
-        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
         0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
-        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
         0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
         0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
@@ -41119,22 +43986,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY */
         0x0, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -41144,9 +44001,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -41156,15 +44010,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -41173,8 +44018,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -41187,26 +44030,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x0, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -41218,28 +44049,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -41249,23 +44133,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -41276,43 +44155,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000_6200 */
+    /* gc7000_6100 */
     {
         0x7000, /* ChipID */
-        0x6200, /* ChipRevision */
+        0x6100, /* ChipRevision */
         0x70000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x28, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
         0x20, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x28, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -41320,7 +44214,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -41328,6 +44221,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -41338,7 +44239,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
@@ -41387,13 +44288,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -41552,7 +44453,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -41561,16 +44462,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
-        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
-        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
@@ -41593,45 +44494,32 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
-        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
-        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
-        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
-        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY */
-        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
-        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
-        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
-        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x1, /* gcFEATURE_BIT_DRAWID */
-        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -41641,25 +44529,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -41672,29 +44549,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
@@ -41703,28 +44568,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -41734,23 +44652,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -41761,43 +44674,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000UL_6200 */
+    /* gc7000L_6100 */
     {
         0x7000, /* ChipID */
-        0x6200, /* ChipRevision */
-        0x70003, /* ProductID */
+        0x6100, /* ChipRevision */
+        0x70002, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -41805,7 +44733,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -41813,6 +44740,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -41823,7 +44758,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
@@ -41872,13 +44807,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -42046,20 +44981,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
-        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
-        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
@@ -42078,45 +45013,32 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
-        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
-        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
-        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
-        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY */
-        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
-        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
-        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
-        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x1, /* gcFEATURE_BIT_DRAWID */
-        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -42126,25 +45048,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -42157,29 +45068,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
@@ -42188,28 +45087,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -42219,23 +45171,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -42246,43 +45193,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000ULVX_6200 */
+    /* gc7000XS_6100 */
     {
         0x7000, /* ChipID */
-        0x6200, /* ChipRevision */
-        0x7000f, /* ProductID */
+        0x6100, /* ChipRevision */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x40, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -42290,7 +45252,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -42298,6 +45259,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -42308,7 +45277,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
         0x0, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* gcFEATURE_BIT_REG_FastScaler */
         0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
@@ -42357,13 +45326,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -42407,7 +45376,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -42430,7 +45399,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -42500,7 +45469,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -42520,9 +45489,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
-        0x0, /* gcFEATURE_BIT_REG_BltEngine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -42531,23 +45500,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
-        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
-        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -42558,50 +45527,37 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
-        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
         0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
-        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
-        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
-        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY */
-        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
-        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
-        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
-        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x1, /* gcFEATURE_BIT_DRAWID */
-        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -42611,25 +45567,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -42642,29 +45587,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
@@ -42673,28 +45606,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -42704,23 +45690,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -42731,43 +45712,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7400_551x */
+    /* gc7000_6200 */
     {
-        0x7400, /* ChipID */
-        0x5515, /* ChipRevision */
-        0x74000, /* ProductID */
+        0x7000, /* ChipID */
+        0x6200, /* ChipRevision */
+        0x70000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x6, /* PatchVersion */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x28, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x28, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -42775,7 +45771,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -42783,6 +45778,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -42842,13 +45845,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -42950,7 +45953,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
-        0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
@@ -42958,7 +45961,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
@@ -42973,7 +45976,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
@@ -42990,11 +45993,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x1, /* gcFEATURE_BIT_REG_Halti4 */
-        0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
-        0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
         0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
         0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
@@ -43004,9 +46007,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
-        0x0, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -43015,79 +46018,66 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
-        0x1, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x0, /* gcFEATURE_BIT_VMSAA */
-        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
-        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
-        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
-        0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
-        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
-        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
         0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
-        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
-        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
-        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
-        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
-        0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
         0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
-        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
-        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
-        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
-        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
-        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
-        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
-        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
-        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
-        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x0, /* gcFEATURE_BIT_SECURITY */
-        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
-        0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
-        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
-        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
-        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
-        0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x1, /* gcFEATURE_BIT_DRAWID */
-        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
-        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
-        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
@@ -43096,25 +46086,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
-        0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -43127,29 +46106,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
@@ -43158,28 +46125,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -43189,23 +46209,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -43216,43 +46231,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8000UL_6200 */
+    /* gc7000UL_6200 */
     {
-        0x8000, /* ChipID */
+        0x7000, /* ChipID */
         0x6200, /* ChipRevision */
-        0x80003, /* ProductID */
+        0x70003, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -43260,7 +46290,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -43268,6 +46297,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -43377,7 +46414,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -43492,7 +46529,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
         0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
@@ -43515,7 +46552,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
@@ -43550,16 +46587,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -43569,9 +46596,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -43581,15 +46605,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -43598,8 +46613,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -43612,26 +46625,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -43643,28 +46644,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -43674,23 +46728,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -43701,43 +46750,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* v630 */
+    /* gc7000ULVX_6200 */
     {
         0x7000, /* ChipID */
-        0x6300, /* ChipRevision */
-        0x0, /* ProductID */
+        0x6200, /* ChipRevision */
+        0x7000f, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -43745,7 +46809,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -43753,6 +46816,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -43862,7 +46933,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -43885,7 +46956,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -43955,7 +47026,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -43975,8 +47046,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -43997,12 +47068,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -44013,7 +47084,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -44035,16 +47106,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -44054,9 +47115,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -44066,15 +47124,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -44082,9 +47131,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
-        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -44097,26 +47144,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -44128,28 +47163,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -44159,23 +47247,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -44186,43 +47269,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_6200 */
+    /* gc7400_551x */
     {
-        0x7000, /* ChipID */
-        0x6200, /* ChipRevision */
-        0x70004, /* ProductID */
+        0x7400, /* ChipID */
+        0x5515, /* ChipRevision */
+        0x74000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x6, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -44230,7 +47328,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -44238,6 +47335,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -44297,13 +47402,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
         0x0, /* gcFEATURE_BIT_REG_VAA */
         0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
         0x0, /* gcFEATURE_BIT_REG_NewTexture */
         0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -44370,7 +47475,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -44405,7 +47510,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
         0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
-        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
@@ -44413,7 +47518,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
         0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
-        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
         0x1, /* gcFEATURE_BIT_REG_Halti2 */
         0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
         0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
@@ -44428,7 +47533,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
         0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
@@ -44440,16 +47545,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
         0x1, /* gcFEATURE_BIT_REG_Halti4 */
-        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
-        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
         0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
         0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
@@ -44459,7 +47564,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
-        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
@@ -44470,79 +47575,66 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_RenderTarget8 */
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
-        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
-        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
-        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
-        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
-        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
-        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
         0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
-        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
-        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
-        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
-        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
-        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
-        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
-        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
-        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
-        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
-        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
-        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY */
-        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
-        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
-        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
-        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
-        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
-        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
-        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x1, /* gcFEATURE_BIT_DRAWID */
-        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
-        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
-        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
@@ -44551,25 +47643,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
-        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
-        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
-        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -44578,33 +47659,21 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
@@ -44613,28 +47682,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x1, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -44644,23 +47766,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -44671,43 +47788,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_6200 */
+    /* gc8000UL_6200 */
     {
-        0x7000, /* ChipID */
+        0x8000, /* ChipID */
         0x6200, /* ChipRevision */
-        0x70002, /* ProductID */
+        0x80003, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -44715,7 +47847,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -44723,6 +47854,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -44832,7 +47971,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -44969,8 +48108,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
@@ -45005,16 +48144,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -45024,9 +48153,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -45036,15 +48162,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -45053,8 +48170,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -45067,26 +48182,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -45098,28 +48201,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -45129,23 +48285,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -45156,43 +48307,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000LXS_6200 */
+    /* v630 */
     {
         0x7000, /* ChipID */
-        0x6200, /* ChipRevision */
-        0x7000a, /* ProductID */
+        0x6300, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
         0x40, /* gcFEATURE_VALUE_LocalStorageSize */
         0x20, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -45200,7 +48366,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -45208,6 +48373,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -45490,16 +48663,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -45509,9 +48672,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -45521,15 +48681,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -45537,9 +48688,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
-        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -45552,26 +48701,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -45583,28 +48720,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -45614,23 +48804,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -45641,43 +48826,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000ULVX_V11_6200 */
+    /* gc7000XS_6200 */
     {
         0x7000, /* ChipID */
         0x6200, /* ChipRevision */
-        0x7000f, /* ProductID */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
-        0x1, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -45685,7 +48885,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -45693,12 +48892,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -45802,7 +49009,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -45825,7 +49032,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -45895,7 +49102,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -45915,8 +49122,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
-        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -45926,23 +49133,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x1, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -45953,7 +49160,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -45975,16 +49182,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -45994,9 +49191,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -46006,15 +49200,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -46023,8 +49208,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -46033,30 +49216,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -46068,28 +49239,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -46099,23 +49323,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -46126,43 +49345,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000ULVX_V12_6200 */
+    /* gc7000L_6200 */
     {
         0x7000, /* ChipID */
         0x6200, /* ChipRevision */
-        0x7000f, /* ProductID */
+        0x70002, /* ProductID */
         0x0, /* EcoID */
-        0x2, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -46170,7 +49404,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -46178,12 +49411,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -46400,7 +49641,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -46411,20 +49652,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x1, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
@@ -46452,7 +49693,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -46460,16 +49701,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -46479,9 +49710,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -46491,15 +49719,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -46508,8 +49727,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -46522,26 +49739,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -46553,28 +49758,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -46584,23 +49842,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -46611,43 +49864,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8000ULVX */
+    /* gc7000LXS_6200 */
     {
-        0x8000, /* ChipID */
+        0x7000, /* ChipID */
         0x6200, /* ChipRevision */
-        0x8000f, /* ProductID */
+        0x7000a, /* ProductID */
         0x0, /* EcoID */
-        0x3, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -46655,7 +49923,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -46663,12 +49930,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -46795,7 +50070,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -46865,7 +50140,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -46885,7 +50160,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -46896,23 +50171,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x1, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -46923,7 +50198,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -46937,7 +50212,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -46945,16 +50220,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -46964,27 +50229,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -46993,40 +50246,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
         0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
         0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
-        0x1, /* gcFEATURE_BIT_DEC400 */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -47038,28 +50277,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
-        0x1, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -47069,23 +50361,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x1, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -47096,43 +50383,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x1, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x1, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x1, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x1, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x1, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000ULVX_6200_pid0x60 */
+    /* gc7000ULVX_V11_6200 */
     {
         0x7000, /* ChipID */
-        0x6203, /* ChipRevision */
+        0x6200, /* ChipRevision */
         0x7000f, /* ProductID */
         0x0, /* EcoID */
-        0x60, /* CustomerID */
+        0x1, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -47140,7 +50442,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -47148,6 +50449,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -47257,7 +50566,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -47422,7 +50731,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -47430,16 +50739,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -47449,9 +50748,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -47461,15 +50757,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -47478,8 +50765,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -47490,28 +50775,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -47523,28 +50796,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -47554,23 +50880,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -47581,43 +50902,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000ULN_v122 */
+    /* gc7000ULVX_V12_6200 */
     {
         0x7000, /* ChipID */
-        0x6203, /* ChipRevision */
-        0x70003, /* ProductID */
+        0x6200, /* ChipRevision */
+        0x7000f, /* ProductID */
         0x0, /* EcoID */
-        0x4, /* CustomerID */
+        0x2, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -47625,7 +50961,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -47633,6 +50968,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -47855,7 +51198,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
         0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -47915,16 +51258,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -47934,9 +51267,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -47946,15 +51276,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -47963,8 +51284,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -47975,28 +51294,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
-        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_RA_CG_FIX */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -48008,28 +51315,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -48039,23 +51399,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -48066,43 +51421,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x1, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_6FFF */
+    /* gc8000ULVX */
     {
-        0x7000, /* ChipID */
-        0x6fff, /* ChipRevision */
-        0x70004, /* ProductID */
+        0x8000, /* ChipID */
+        0x6200, /* ChipRevision */
+        0x8000f, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x3, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -48110,7 +51480,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -48118,12 +51487,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -48250,7 +51627,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -48320,7 +51697,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -48340,7 +51717,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -48351,23 +51728,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -48378,7 +51755,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -48392,7 +51769,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -48400,16 +51777,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -48419,27 +51786,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -48448,40 +51803,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
         0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
         0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
-        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x1, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -48493,28 +51834,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
-        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
-        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x1, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x1, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x1, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x1, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x1, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -48524,23 +51918,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -48551,64 +51940,86 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000_6210 */
+    /* GCNANOULTRA31_VIP2 */
     {
         0x7000, /* ChipID */
-        0x6210, /* ChipRevision */
-        0x70000, /* ProductID */
+        0x6204, /* ChipRevision */
+        0x70007, /* ProductID */
         0x0, /* EcoID */
-        0x6, /* CustomerID */
+        0x13, /* CustomerID */
         0x0, /* PatchVersion */
+        "GCNANOULTRA31_VIP2", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x2, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x7, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -48825,7 +52236,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -48836,20 +52247,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
@@ -48885,16 +52296,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -48904,9 +52305,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -48916,15 +52314,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -48933,40 +52322,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
-        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x1, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -48978,101 +52353,164 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
-        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
-        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x1, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x1, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x1, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x1, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x1, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x1, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x1, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000_6210 */
+    /* gc7000ULVX_6200_pid0x60 */
     {
         0x7000, /* ChipID */
-        0x6210, /* ChipRevision */
-        0x70000, /* ProductID */
+        0x6203, /* ChipRevision */
+        0x7000f, /* ProductID */
         0x0, /* EcoID */
-        0xa, /* CustomerID */
+        0x60, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -49080,7 +52518,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -49088,12 +52525,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -49310,8 +52755,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -49321,20 +52766,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x0, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
         0x0, /* gcFEATURE_BIT_HWTFB */
@@ -49370,16 +52815,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -49389,27 +52824,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -49418,40 +52841,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -49463,28 +52872,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -49494,23 +52956,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -49521,43 +52978,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_6210 */
+    /* gc7000ULN_v122 */
     {
         0x7000, /* ChipID */
-        0x6210, /* ChipRevision */
-        0x70004, /* ProductID */
+        0x6203, /* ChipRevision */
+        0x70003, /* ProductID */
         0x0, /* EcoID */
-        0x8, /* CustomerID */
+        0x4, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -49565,7 +53037,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -49573,12 +53044,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -49705,7 +53184,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -49775,7 +53254,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -49796,7 +53275,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -49806,23 +53285,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -49833,7 +53312,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -49855,16 +53334,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -49874,27 +53343,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -49903,40 +53360,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -49948,28 +53391,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x1, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -49979,23 +53475,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -50006,43 +53497,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8000XS_6210 */
+    /* gc7000ULN_v123 */
     {
-        0x8000, /* ChipID */
-        0x6210, /* ChipRevision */
-        0x80004, /* ProductID */
+        0x7000, /* ChipID */
+        0x6203, /* ChipRevision */
+        0x70003, /* ProductID */
         0x0, /* EcoID */
-        0xd, /* CustomerID */
+        0x11, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
-        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -50050,7 +53556,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -50058,12 +53563,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
         0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
-        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x1, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
@@ -50190,7 +53703,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -50260,7 +53773,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -50281,7 +53794,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -50291,23 +53804,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
         0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
-        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -50318,7 +53831,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -50340,16 +53853,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -50359,27 +53862,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -50388,40 +53879,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -50433,28 +53910,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x1, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -50464,23 +53994,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -50491,43 +54016,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8200LXS */
+    /* gc7000XS_6FFF */
     {
-        0x8200, /* ChipID */
-        0x6212, /* ChipRevision */
-        0x8200a, /* ProductID */
+        0x7000, /* ChipID */
+        0x6fff, /* ChipRevision */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
-        0xe, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x2, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -50535,7 +54075,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -50543,6 +54082,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -50777,7 +54324,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -50787,7 +54334,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
         0x1, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
         0x0, /* gcFEATURE_BIT_NO_ASTC */
@@ -50817,7 +54364,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -50825,16 +54372,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -50844,27 +54381,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -50873,40 +54398,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -50918,28 +54429,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -50949,23 +54513,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -50976,43 +54535,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XS_6210 */
+    /* gc7000_6210 */
     {
         0x7000, /* ChipID */
         0x6210, /* ChipRevision */
-        0x70004, /* ProductID */
+        0x70000, /* ProductID */
         0x0, /* EcoID */
-        0xc, /* CustomerID */
+        0x6, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -51020,7 +54594,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -51028,6 +54601,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -51160,7 +54741,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -51230,7 +54811,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -51273,11 +54854,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -51288,7 +54869,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -51310,16 +54891,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -51329,9 +54900,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -51341,15 +54909,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -51358,8 +54917,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -51368,30 +54925,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -51403,28 +54948,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -51434,23 +55032,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -51461,43 +55054,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_6210 */
+    /* gc7000_6210 */
     {
         0x7000, /* ChipID */
         0x6210, /* ChipRevision */
-        0x70002, /* ProductID */
+        0x70000, /* ProductID */
         0x0, /* EcoID */
-        0x5, /* CustomerID */
+        0xa, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -51505,7 +55113,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -51513,6 +55120,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -51795,16 +55410,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -51814,9 +55419,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -51826,15 +55428,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -51843,40 +55436,26 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
         0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
         0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
-        0x1, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -51888,28 +55467,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -51919,23 +55551,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -51946,43 +55573,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_6210 */
+    /* gc7000XS_6210 */
     {
         0x7000, /* ChipID */
         0x6210, /* ChipRevision */
-        0x70002, /* ProductID */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
-        0x9, /* CustomerID */
+        0x8, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -51990,7 +55632,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -51998,6 +55639,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -52130,7 +55779,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -52200,7 +55849,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -52243,11 +55892,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -52258,7 +55907,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -52280,16 +55929,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -52299,9 +55938,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -52311,15 +55947,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -52328,8 +55955,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -52342,26 +55967,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -52373,28 +55986,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -52404,23 +56070,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -52431,43 +56092,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000LXS_6210 */
+    /* gc8000XS_6210 */
     {
-        0x7000, /* ChipID */
+        0x8000, /* ChipID */
         0x6210, /* ChipRevision */
-        0x7000a, /* ProductID */
+        0x80004, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0xd, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x30, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -52475,7 +56151,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -52483,6 +56158,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -52765,16 +56448,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -52784,9 +56457,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -52796,15 +56466,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -52813,8 +56474,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -52827,26 +56486,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -52858,28 +56505,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -52889,23 +56589,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -52916,43 +56611,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XSVX_6210 */
+    /* gc8200LXS */
     {
-        0x7000, /* ChipID */
-        0x6210, /* ChipRevision */
-        0x70008, /* ProductID */
+        0x8200, /* ChipID */
+        0x6212, /* ChipRevision */
+        0x8200a, /* ProductID */
         0x0, /* EcoID */
-        0x7, /* CustomerID */
+        0xe, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x2, /* gcFEATURE_VALUE_CoreCount */
+        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -52960,7 +56670,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -52968,6 +56677,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -53190,7 +56907,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -53202,7 +56919,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -53250,16 +56967,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -53269,9 +56976,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -53281,15 +56985,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -53298,8 +56993,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -53312,26 +57005,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -53343,28 +57024,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -53374,23 +57108,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -53401,43 +57130,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000XSVX_6210 */
+    /* gc7000XS_6210 */
     {
         0x7000, /* ChipID */
         0x6210, /* ChipRevision */
-        0x70008, /* ProductID */
+        0x70004, /* ProductID */
         0x0, /* EcoID */
-        0xb, /* CustomerID */
+        0xc, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -53445,7 +57189,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -53453,6 +57196,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -53675,7 +57426,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
         0x1, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
@@ -53735,16 +57486,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -53754,9 +57495,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -53766,15 +57504,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -53783,8 +57512,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -53797,26 +57524,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -53828,28 +57543,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -53859,23 +57627,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -53886,43 +57649,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7000L_DEC400 */
+    /* gc7000L_6210 */
     {
         0x7000, /* ChipID */
-        0x6214, /* ChipRevision */
+        0x6210, /* ChipRevision */
         0x70002, /* ProductID */
         0x0, /* EcoID */
-        0x30, /* CustomerID */
-        0x8, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x5, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -53930,7 +57708,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -53938,6 +57715,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -54220,16 +58005,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -54239,9 +58014,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -54251,15 +58023,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -54268,73 +58031,112 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
         0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
         0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
         0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
-        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
-        0x1, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
-        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -54344,23 +58146,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -54371,43 +58168,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7400_0002 */
+    /* gc7000L_6210 */
     {
-        0x8400, /* ChipID */
-        0x6310, /* ChipRevision */
-        0x8400a, /* ProductID */
+        0x7000, /* ChipID */
+        0x6210, /* ChipRevision */
+        0x70002, /* ProductID */
         0x0, /* EcoID */
-        0x44, /* CustomerID */
+        0x9, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -54415,7 +58227,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
@@ -54423,6 +58234,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -54555,7 +58374,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -54625,7 +58444,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -54657,7 +58476,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -54668,11 +58487,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -54683,7 +58502,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -54700,21 +58519,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_SECURITY */
         0x1, /* gcFEATURE_BIT_ROBUSTNESS */
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -54723,10 +58532,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_DRAWID */
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
-        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
         0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -54736,15 +58542,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -54753,8 +58550,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -54763,34 +58558,22 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
-        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -54798,28 +58581,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
-        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -54829,23 +58665,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -54856,43 +58687,58 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc7400_0003 */
+    /* gc7000LXS_6210 */
     {
-        0x8400, /* ChipID */
-        0x6310, /* ChipRevision */
-        0x8400a, /* ProductID */
+        0x7000, /* ChipID */
+        0x6210, /* ChipRevision */
+        0x7000a, /* ProductID */
         0x0, /* EcoID */
-        0x45, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x30, /* gcFEATURE_VALUE_LocalStorageSize */
         0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
         0x0, /* gcFEATURE_VALUE_NNCoreCount */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
@@ -54900,14 +58746,16110 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc7000XSVX_6210 */
+    {
+        0x7000, /* ChipID */
+        0x6210, /* ChipRevision */
+        0x70008, /* ProductID */
+        0x0, /* EcoID */
+        0x7, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc7000XSVX_6210 */
+    {
+        0x7000, /* ChipID */
+        0x6210, /* ChipRevision */
+        0x70008, /* ProductID */
+        0x0, /* EcoID */
+        0xb, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc7000L_DEC400 */
+    {
+        0x7000, /* ChipID */
+        0x6214, /* ChipRevision */
+        0x70002, /* ProductID */
+        0x0, /* EcoID */
+        0x30, /* CustomerID */
+        0x8, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x1, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc7000L_DEC400 */
+    {
+        0x7000, /* ChipID */
+        0x6214, /* ChipRevision */
+        0x70002, /* ProductID */
+        0x1, /* EcoID */
+        0x30, /* CustomerID */
+        0x8, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x1, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x1, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc7400_0002 */
+    {
+        0x8400, /* ChipID */
+        0x6310, /* ChipRevision */
+        0x8400a, /* ProductID */
+        0x0, /* EcoID */
+        0x44, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc7400_0003 */
+    {
+        0x8400, /* ChipID */
+        0x6310, /* ChipRevision */
+        0x8400a, /* ProductID */
+        0x0, /* EcoID */
+        0x45, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc8400_6300 */
+    {
+        0x8400, /* ChipID */
+        0x6300, /* ChipRevision */
+        0x84004, /* ProductID */
+        0x0, /* EcoID */
+        0x41, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x10, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0xf, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc8100_6300_pid0x43 */
+    {
+        0x8100, /* ChipID */
+        0x6300, /* ChipRevision */
+        0x81004, /* ProductID */
+        0x0, /* EcoID */
+        0x43, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x10, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x1, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gc8200_6300_pid0x46 */
+    {
+        0x8200, /* ChipID */
+        0x6300, /* ChipRevision */
+        0x82004, /* ProductID */
+        0x0, /* EcoID */
+        0x46, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x10, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x3, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* cc8000_6330 */
+    {
+        0x8000, /* ChipID */
+        0x6330, /* ChipRevision */
+        0x6080000, /* ProductID */
+        0x0, /* EcoID */
+        0x51, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x0, /* gcFEATURE_VALUE_USC_BANKS */
+        0x10, /* gcFEATURE_VALUE_Streams */
+        0x1f, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x0, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x0, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x0, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x0, /* gcFEATURE_BIT_REG_Evis */
+        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_SH_CMPLX */
+        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x1, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x1, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x1, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip7000UL_6100 */
+    {
+        0x7000, /* ChipID */
+        0x6100, /* ChipRevision */
+        0x5070003, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip7000L_6200 */
+    {
+        0x7000, /* ChipID */
+        0x6200, /* ChipRevision */
+        0x5070002, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip7000UL_6200 */
+    {
+        0x7000, /* ChipID */
+        0x6201, /* ChipRevision */
+        0x5070003, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x0, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x0, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x0, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000UL_6211 */
+    {
+        0x8000, /* ChipID */
+        0x6212, /* ChipRevision */
+        0x5080003, /* ProductID */
+        0x0, /* EcoID */
+        0x21, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000ULFN_6211 */
+    {
+        0x8000, /* ChipID */
+        0x6211, /* ChipRevision */
+        0x5080003, /* ProductID */
+        0x0, /* EcoID */
+        0x22, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000UL_6211 */
+    {
+        0x8000, /* ChipID */
+        0x6211, /* ChipRevision */
+        0x5080003, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vipnano */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x0, /* EcoID */
+        0x29, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* gcnanovip */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x424f5343, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vipnano-q */
+    {
+        0x8000, /* ChipID */
+        0x7100, /* ChipRevision */
+        0x45080001, /* ProductID */
+        0x0, /* EcoID */
+        0x24, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vipnano-q */
+    {
+        0x8000, /* ChipID */
+        0x7100, /* ChipRevision */
+        0x45080001, /* ProductID */
+        0x0, /* EcoID */
+        0x82, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0xa, /* gcFEATURE_VALUE_NNCoreCount */
+        0xa, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vipnano-d */
+    {
+        0x8000, /* ChipID */
+        0x7110, /* ChipRevision */
+        0x25080001, /* ProductID */
+        0x0, /* EcoID */
+        0x89, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x3, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x3, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000UL-s */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x15080003, /* ProductID */
+        0x0, /* EcoID */
+        0x25, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000UL-s */
+    {
+        0x8000, /* ChipID */
+        0x7005, /* ChipRevision */
+        0x15080003, /* ProductID */
+        0x0, /* EcoID */
+        0x83, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x2, /* gcFEATURE_VALUE_CoreCount */
+        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000UL-q */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x45080003, /* ProductID */
+        0x0, /* EcoID */
+        0x26, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000UL */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x5080003, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000-q */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x45080000, /* ProductID */
+        0x0, /* EcoID */
+        0x72, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_TP_LRN */
+        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vipnano-d */
+    {
+        0x8000, /* ChipID */
+        0x7003, /* ChipRevision */
+        0x25080001, /* ProductID */
+        0x0, /* EcoID */
+        0x2a, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vipnano-d */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x25080001, /* ProductID */
+        0x0, /* EcoID */
+        0x76, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000L-O */
+    {
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x85080002, /* ProductID */
+        0x0, /* EcoID */
+        0x2f, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x4, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_SH_CMPLX */
+        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x1, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x1, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x1, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000L-qi */
+    {
+        0x8000, /* ChipID */
+        0x7200, /* ChipRevision */
+        0x4508000a, /* ProductID */
+        0x0, /* EcoID */
+        0x85, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x4, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x1, /* gcFEATURE_BIT_REG_MSAA */
+        0x0, /* gcFEATURE_BIT_REG_DC */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x1, /* gcFEATURE_BIT_REG_FastScaler */
+        0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x0, /* gcFEATURE_BIT_REG_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x0, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+        0x0, /* gcFEATURE_BIT_REG_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+        0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+        0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+        0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+        0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+        0x0, /* gcFEATURE_BIT_REG_PipeVG */
+        0x0, /* gcFEATURE_BIT_REG_VGTS */
+        0x0, /* gcFEATURE_BIT_REG_FE20 */
+        0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+        0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+        0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+        0x1, /* gcFEATURE_BIT_REG_FlipY */
+        0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+        0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+        0x1, /* gcFEATURE_BIT_REG_Texture8K */
+        0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+        0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+        0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+        0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x1, /* gcFEATURE_BIT_REG_Render8K */
+        0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+        0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+        0x0, /* gcFEATURE_BIT_REG_VG20 */
+        0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+        0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+        0x0, /* gcFEATURE_BIT_REG_VGFilter */
+        0x0, /* gcFEATURE_BIT_REG_VG21 */
+        0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+        0x0, /* gcFEATURE_BIT_REG_VAA */
+        0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x0, /* gcFEATURE_BIT_REG_NewTexture */
+        0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+        0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+        0x0, /* gcFEATURE_BIT_REG_TextureStride */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+        0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        0x1, /* gcFEATURE_BIT_REG_PixelDither */
+        0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+        0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+        0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+        0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+        0x0, /* gcFEATURE_BIT_REG_New2D */
+        0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+        0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_Halti0 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+        0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+        0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+        0x1, /* gcFEATURE_BIT_REG_MMU */
+        0x1, /* gcFEATURE_BIT_REG_WideLine */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+        0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+        0x1, /* gcFEATURE_BIT_REG_LineLoop */
+        0x1, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+        0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+        0x1, /* gcFEATURE_BIT_REG_LinearPE */
+        0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+        0x1, /* gcFEATURE_BIT_REG_EndEvent */
+        0x1, /* gcFEATURE_BIT_REG_S1S8 */
+        0x1, /* gcFEATURE_BIT_REG_Halti1 */
+        0x0, /* gcFEATURE_BIT_REG_RGB888 */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        0x0, /* gcFEATURE_BIT_REG_TXFilter */
+        0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x1, /* gcFEATURE_BIT_REG_TileFiller */
+        0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+        0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+        0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+        0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+        0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+        0x0, /* gcFEATURE_BIT_REG_WClip */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+        0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_ACE */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x1, /* gcFEATURE_BIT_REG_NewHZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_Halti2 */
+        0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+        0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+        0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
+        0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+        0x0, /* gcFEATURE_BIT_REG_CSCV2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
+        0x0, /* gcFEATURE_BIT_REG_Compression2D */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
+        0x0, /* gcFEATURE_BIT_REG_DESupertile */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+        0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
+        0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+        0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+        0x1, /* gcFEATURE_BIT_REG_EEZ */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+        0x1, /* gcFEATURE_BIT_REG_Halti3 */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
+        0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+        0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+        0x1, /* gcFEATURE_BIT_REG_Halti4 */
+        0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+        0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+        0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+        0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+        0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+        0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+        0x1, /* gcFEATURE_BIT_REG_Halti5 */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
+        0x0, /* gcFEATURE_BIT_REG_DEC */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
+        0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */
+        0x0, /* gcFEATURE_BIT_RenderTarget8 */
+        0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
+        0x0, /* gcFEATURE_BIT_FaceLod */
+        0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
+        0x1, /* gcFEATURE_BIT_VMSAA */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+        0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
+        0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
+        0x0, /* gcFEATURE_BIT_NO_DXT */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
+        0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+        0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+        0x1, /* gcFEATURE_BIT_DRAWID */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+        0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+        0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
+        0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+        0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+        0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+        0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+        0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+        0x0, /* gcFEATURE_BIT_DEC400 */
+        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_SH_CMPLX */
+        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
+        0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
+        0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
+        0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
+        0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
+        0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x1, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
+    },
+    /* vip8000L-di */
+    {
+        0x8000, /* ChipID */
+        0x7200, /* ChipRevision */
+        0x508000a, /* ProductID */
+        0x4000000, /* EcoID */
+        0x91, /* CustomerID */
+        0x0, /* PatchVersion */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
+        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+        0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x4, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -54973,7 +74915,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -55017,7 +74959,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -55040,7 +74982,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
         0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
@@ -55095,7 +75037,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -55110,7 +75052,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -55130,8 +75072,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -55142,7 +75084,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -55153,11 +75095,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -55168,7 +75110,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -55182,24 +75124,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x0, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_SECURITY */
         0x1, /* gcFEATURE_BIT_ROBUSTNESS */
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -55208,28 +75140,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_DRAWID */
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
-        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
-        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -55238,109 +75158,56 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
         0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
-        0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
+        0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
-        0x0, /* gcFEATURE_BIT_SH_CMPLX */
-        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x1, /* gcFEATURE_BIT_SH_CMPLX */
+        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x1, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -55349,50 +75216,159 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8400_6300 */
+    /* vipnano-s */
     {
-        0x8400, /* ChipID */
-        0x6300, /* ChipRevision */
-        0x84004, /* ProductID */
+        0x8000, /* ChipID */
+        0x7003, /* ChipRevision */
+        0x15080001, /* ProductID */
         0x0, /* EcoID */
-        0x41, /* CustomerID */
+        0x23, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x10, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0xf, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -55458,7 +75434,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -55502,7 +75478,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -55525,9 +75501,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
@@ -55580,7 +75556,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -55595,7 +75571,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -55616,7 +75592,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x1, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -55638,11 +75614,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -55653,7 +75629,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -55667,7 +75643,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -55675,16 +75651,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -55694,27 +75660,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
-        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -55722,162 +75676,218 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
-        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
-        0x1, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8100_6300_pid0x43 */
+    /* vipnano-si */
     {
-        0x8100, /* ChipID */
-        0x6300, /* ChipRevision */
-        0x81004, /* ProductID */
-        0x0, /* EcoID */
-        0x43, /* CustomerID */
+        0x8000, /* ChipID */
+        0x7005, /* ChipRevision */
+        0x5080009, /* ProductID */
+        0x2000000, /* EcoID */
+        0x96, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x10, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x1, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -55943,7 +75953,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -55987,7 +75997,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -56010,9 +76020,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
@@ -56065,7 +76075,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -56080,7 +76090,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -56101,7 +76111,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x1, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -56123,11 +76133,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -56138,7 +76148,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -56152,7 +76162,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -56160,16 +76170,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -56179,27 +76179,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
-        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -56207,162 +76195,218 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
-        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
-        0x1, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
         0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gc8200_6300_pid0x46 */
+    /* vipnano-qi */
     {
-        0x8200, /* ChipID */
-        0x6300, /* ChipRevision */
-        0x82004, /* ProductID */
+        0x8000, /* ChipID */
+        0x7004, /* ChipRevision */
+        0x45080009, /* ProductID */
         0x0, /* EcoID */
-        0x46, /* CustomerID */
+        0x7d, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x10, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x40, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x3, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -56428,7 +76472,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
         0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
         0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
-        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x1, /* gcFEATURE_BIT_REG_V2Compression */
         0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
         0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
@@ -56472,7 +76516,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_S1S8 */
         0x1, /* gcFEATURE_BIT_REG_Halti1 */
         0x0, /* gcFEATURE_BIT_REG_RGB888 */
-        0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+        0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
         0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
         0x0, /* gcFEATURE_BIT_REG_TXFilter */
         0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
@@ -56495,9 +76539,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_OclOnly */
         0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
         0x1, /* gcFEATURE_BIT_REG_InstructionCache */
-        0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
         0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
-        0x0, /* gcFEATURE_BIT_REG_Generics */
+        0x1, /* gcFEATURE_BIT_REG_Generics */
         0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
         0x0, /* gcFEATURE_BIT_REG_FastMSAA */
         0x0, /* gcFEATURE_BIT_REG_WClip */
@@ -56550,7 +76594,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -56565,7 +76609,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
         0x1, /* gcFEATURE_BIT_REG_Halti3 */
-        0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+        0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
         0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
         0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
@@ -56586,7 +76630,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
         0x1, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -56608,11 +76652,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
         0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
+        0x0, /* gcFEATURE_BIT_HWTFB */
         0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
         0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
@@ -56623,7 +76667,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
         0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
         0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
         0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
@@ -56637,7 +76681,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
         0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
         0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
         0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY */
@@ -56645,16 +76689,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -56664,27 +76698,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
-        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -56692,162 +76714,218 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
-        0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
-        0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
-        0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
-        0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
-        0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
-        0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+        0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+        0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+        0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+        0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+        0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+        0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
         0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
         0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
-        0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
-        0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+        0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
-        0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
-        0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
-        0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
-        0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
-        0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+        0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+        0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+        0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+        0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+        0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
-        0x1, /* gcFEATURE_BIT_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
+        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
         0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
-        0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
         0x0, /* gcFEATURE_BIT_TP_REORDER */
-        0x1, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x1, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* cc8000_6330 */
+    /* vipnano-qi */
     {
         0x8000, /* ChipID */
-        0x6330, /* ChipRevision */
-        0x6080000, /* ProductID */
-        0x0, /* EcoID */
-        0x51, /* CustomerID */
+        0x7004, /* ChipRevision */
+        0x45080009, /* ProductID */
+        0x1, /* EcoID */
+        0x7d, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x1f, /* gcFEATURE_VALUE_VaryingCount */
-        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -57070,8 +77148,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x1, /* gcFEATURE_BIT_REG_Halti5 */
-        0x0, /* gcFEATURE_BIT_REG_Evis */
-        0x1, /* gcFEATURE_BIT_REG_BltEngine */
+        0x1, /* gcFEATURE_BIT_REG_Evis */
+        0x0, /* gcFEATURE_BIT_REG_BltEngine */
         0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
         0x0, /* gcFEATURE_BIT_REG_DEC */
@@ -57130,16 +77208,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -57149,9 +77217,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -57161,15 +77226,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -57178,8 +77234,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -57192,147 +77246,205 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
-        0x1, /* gcFEATURE_BIT_SH_CMPLX */
-        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
-        0x1, /* gcFEATURE_BIT_ASYNC_BLT */
-        0x1, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
+        0x0, /* gcFEATURE_BIT_ASYNC_BLT */
+        0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
-        0x1, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
-        0x1, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
-        0x1, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
+        0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x0, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip7000UL_6100 */
+    /* vipnano-di */
     {
-        0x7000, /* ChipID */
-        0x6100, /* ChipRevision */
-        0x5070003, /* ProductID */
+        0x8000, /* ChipID */
+        0x7000, /* ChipRevision */
+        0x25080009, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x7e, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -57520,7 +77632,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x1, /* gcFEATURE_BIT_REG_Probe */
+        0x0, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -57566,95 +77678,73 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
-        0x0, /* gcFEATURE_BIT_VMSAA */
+        0x1, /* gcFEATURE_BIT_VMSAA */
         0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
-        0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
-        0x0, /* gcFEATURE_BIT_V4Compression */
+        0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+        0x1, /* gcFEATURE_BIT_V4Compression */
         0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
-        0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
-        0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+        0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+        0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
         0x1, /* gcFEATURE_BIT_NEW_GPIPE */
-        0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
-        0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+        0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+        0x0, /* gcFEATURE_BIT_MSAA_SHADING */
         0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
-        0x0, /* gcFEATURE_BIT_NO_ASTC */
+        0x1, /* gcFEATURE_BIT_NO_ASTC */
         0x0, /* gcFEATURE_BIT_NO_DXT */
-        0x1, /* gcFEATURE_BIT_HWTFB */
-        0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
-        0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+        0x0, /* gcFEATURE_BIT_HWTFB */
+        0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+        0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
         0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
-        0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
-        0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
-        0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
-        0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
-        0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+        0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+        0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+        0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+        0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
         0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
-        0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
-        0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+        0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+        0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+        0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
         0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
-        0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+        0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
         0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
-        0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+        0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
         0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
-        0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
-        0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
-        0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
-        0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
-        0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
-        0x0, /* gcFEATURE_BIT_SECURITY */
-        0x0, /* gcFEATURE_BIT_ROBUSTNESS */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
-        0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+        0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+        0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+        0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+        0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+        0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+        0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+        0x1, /* gcFEATURE_BIT_SECURITY */
+        0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+        0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+        0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
-        0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
-        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
-        0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+        0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+        0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+        0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
         0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
         0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x1, /* gcFEATURE_BIT_DRAWID */
-        0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+        0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
-        0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
-        0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
-        0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
-        0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+        0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+        0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+        0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+        0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
         0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -57663,8 +77753,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -57677,29 +77765,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
-        0x0, /* gcFEATURE_BIT_SECURITY_AHB */
+        0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
@@ -57708,54 +77784,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x1, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -57765,59 +77889,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip7000L_6200 */
+    /* vipnano-si */
     {
-        0x7000, /* ChipID */
-        0x6200, /* ChipRevision */
-        0x5070002, /* ProductID */
+        0x8000, /* ChipID */
+        0x7120, /* ChipRevision */
+        0x15080009, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x80, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -58100,16 +78246,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -58119,9 +78255,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -58131,15 +78264,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -58148,8 +78272,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -58162,26 +78284,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -58193,116 +78303,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip7000UL_6200 */
+    /* vip8000UL-si */
     {
-        0x7000, /* ChipID */
-        0x6201, /* ChipRevision */
-        0x5070003, /* ProductID */
-        0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x8000, /* ChipID */
+        0x7121, /* ChipRevision */
+        0x508000b, /* ProductID */
+        0x2000000, /* EcoID */
+        0x98, /* CustomerID */
         0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x0, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -58585,16 +78765,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -58604,9 +78774,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -58616,15 +78783,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -58633,8 +78791,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -58647,26 +78803,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -58678,116 +78822,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
-        0x0, /* gcFEATURE_BIT_PSCS_THROTTLE */
+        0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL_6211 */
+    /* vipnano-si */
     {
         0x8000, /* ChipID */
-        0x6212, /* ChipRevision */
-        0x5080003, /* ProductID */
-        0x0, /* EcoID */
-        0x21, /* CustomerID */
+        0x7120, /* ChipRevision */
+        0x5080009, /* ProductID */
+        0x2000000, /* EcoID */
+        0x97, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -59070,16 +79284,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -59089,9 +79293,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -59101,15 +79302,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -59118,8 +79310,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -59132,26 +79322,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -59163,116 +79341,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000ULFN_6211 */
+    /* vippico_v1 */
     {
         0x8000, /* ChipID */
-        0x6211, /* ChipRevision */
-        0x5080003, /* ProductID */
-        0x0, /* EcoID */
-        0x22, /* CustomerID */
+        0x7120, /* ChipRevision */
+        0x8000001, /* ProductID */
+        0x1000000, /* EcoID */
+        0x87, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x1, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -59555,16 +79803,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -59574,9 +79812,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -59586,15 +79821,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -59603,8 +79829,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -59617,26 +79841,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -59648,54 +79860,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x0, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x0, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -59703,61 +79963,83 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL_6211 */
+    /* vippico_v2 */
     {
         0x8000, /* ChipID */
-        0x6211, /* ChipRevision */
-        0x5080003, /* ProductID */
-        0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x7130, /* ChipRevision */
+        0x8000001, /* ProductID */
+        0x1000000, /* EcoID */
+        0x93, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x1, /* gcFEATURE_VALUE_NNCoreCount */
         0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x7, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -60040,16 +80322,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -60059,9 +80331,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -60071,15 +80340,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -60088,8 +80348,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -60102,26 +80360,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -60133,64 +80379,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -60199,50 +80406,159 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano */
+    /* vippico_v3 */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x0, /* EcoID */
-        0x29, /* CustomerID */
+        0x7130, /* ChipRevision */
+        0x8000001, /* ProductID */
+        0x2000000, /* EcoID */
+        0x99, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x7, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -60525,16 +80841,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -60544,9 +80850,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -60556,15 +80859,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -60573,8 +80867,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -60587,26 +80879,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -60618,64 +80898,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
         0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -60684,50 +80925,159 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* gcnanovip */
+    /* vipnano-si */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x424f5343, /* ProductID */
-        0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x7130, /* ChipRevision */
+        0x5000009, /* ProductID */
+        0x2000000, /* EcoID */
+        0x9e, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x1, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
-        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x0, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x180, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -61010,16 +81360,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -61029,27 +81369,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
-        0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+        0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
         0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -61058,8 +81386,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -61072,26 +81398,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x0, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -61103,64 +81417,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
-        0x1, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
+        0x0, /* gcFEATURE_BIT_FENCE_64BIT */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
         0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -61169,50 +81444,159 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q */
+    /* vip8000-oi MP */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x45080001, /* ProductID */
-        0x0, /* EcoID */
-        0x24, /* CustomerID */
+        0x7300, /* ChipRevision */
+        0x5080008, /* ProductID */
+        0x10000000, /* EcoID */
+        0x86, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_CoreCount */
+        0x9, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x9, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x9, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x10, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -61447,7 +81831,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -61495,16 +81879,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -61514,9 +81888,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -61526,15 +81897,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -61543,8 +81905,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -61557,30 +81917,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -61588,54 +81936,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -61643,61 +82039,83 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q */
+    /* vip8000L-qi MP */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x45080001, /* ProductID */
-        0x0, /* EcoID */
-        0x82, /* CustomerID */
+        0x7300, /* ChipRevision */
+        0x508000a, /* ProductID */
+        0x8000000, /* EcoID */
+        0x9b, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x4, /* gcFEATURE_VALUE_CoreCount */
+        0x9, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x9, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x9, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0xa, /* gcFEATURE_VALUE_NNCoreCount */
-        0xa, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -61932,7 +82350,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -61980,16 +82398,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -61999,9 +82407,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -62011,15 +82416,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -62028,8 +82424,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -62042,30 +82436,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -62073,29 +82455,82 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
@@ -62104,23 +82539,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -62128,61 +82558,83 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL-s */
+    /* vip8000UL-di MP */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x15080003, /* ProductID */
-        0x0, /* EcoID */
-        0x25, /* CustomerID */
+        0x7300, /* ChipRevision */
+        0x508000b, /* ProductID */
+        0x4000000, /* EcoID */
+        0x9c, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x10, /* gcFEATURE_VALUE_L1CacheSize */
+        0x2, /* gcFEATURE_VALUE_CoreCount */
+        0x9, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x9, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x9, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x2, /* gcFEATURE_VALUE_NNCoreCount */
         0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -62417,7 +82869,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -62465,16 +82917,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -62484,9 +82926,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -62496,15 +82935,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -62513,8 +82943,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -62527,30 +82955,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -62558,116 +82974,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL-s */
+    /* vipnano-si */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x15080003, /* ProductID */
-        0x0, /* EcoID */
-        0x83, /* CustomerID */
+        0x7300, /* ChipRevision */
+        0x5080008, /* ProductID */
+        0x2000000, /* EcoID */
+        0x90, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x2, /* gcFEATURE_VALUE_NNCoreCount */
         0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -62902,7 +83388,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x1, /* gcFEATURE_BIT_ChipEnableLink */
+        0x0, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -62950,16 +83436,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -62969,9 +83445,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -62981,15 +83454,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -62998,8 +83462,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -63012,26 +83474,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -63043,116 +83493,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL-q */
+    /* vipnano-qi */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x45080003, /* ProductID */
+        0x7120, /* ChipRevision */
+        0x45080009, /* ProductID */
         0x0, /* EcoID */
-        0x26, /* CustomerID */
+        0x88, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x8, /* gcFEATURE_VALUE_NNCoreCount */
         0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -63435,16 +83955,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -63454,9 +83964,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -63466,15 +83973,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -63483,8 +83981,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -63497,26 +83993,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -63528,116 +84012,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL */
+    /* vipnano-di */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x5080003, /* ProductID */
+        0x7110, /* ChipRevision */
+        0x25080009, /* ProductID */
         0x0, /* EcoID */
-        0x0, /* CustomerID */
+        0x7f, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x18, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x18, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x1, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -63920,16 +84474,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -63939,9 +84483,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -63951,15 +84492,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -63968,8 +84500,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -63982,26 +84512,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -64013,116 +84531,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000-q */
+    /* vip8000UL-di */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x45080000, /* ProductID */
-        0x0, /* EcoID */
-        0x72, /* CustomerID */
+        0x7120, /* ChipRevision */
+        0x508000b, /* ProductID */
+        0x6000000, /* EcoID */
+        0x92, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x40, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -64405,16 +84993,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -64424,9 +85002,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -64436,15 +85011,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -64453,8 +85019,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -64467,26 +85031,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -64498,116 +85050,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x0, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d */
+    /* vipnano-di */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x25080001, /* ProductID */
+        0x7131, /* ChipRevision */
+        0x25080009, /* ProductID */
         0x0, /* EcoID */
-        0x2a, /* CustomerID */
+        0x84, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x4, /* gcFEATURE_VALUE_NNCoreCount */
         0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -64890,16 +85512,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -64909,9 +85521,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -64921,15 +85530,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -64938,8 +85538,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -64952,26 +85550,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -64983,64 +85569,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
         0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -65049,50 +85596,159 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d */
+    /* vipnano-si */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x25080001, /* ProductID */
-        0x0, /* EcoID */
-        0x76, /* CustomerID */
+        0x7130, /* ChipRevision */
+        0x5080009, /* ProductID */
+        0x2000000, /* EcoID */
+        0x9a, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -65375,16 +86031,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -65394,9 +86040,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -65406,15 +86049,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -65423,8 +86057,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -65437,26 +86069,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -65468,64 +86088,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
-        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
-        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
-        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
         0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
         0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
         0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
         0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
         0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
         0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
         0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
         0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
@@ -65534,50 +86115,159 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
         0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
         0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP9 */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x1, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000L-O */
+    /* vipnano-si+ */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x85080002, /* ProductID */
-        0x0, /* EcoID */
-        0x2f, /* CustomerID */
+        0x8000, /* ChipRevision */
+        0x5000009, /* ProductID */
+        0x3000000, /* EcoID */
+        0x9f, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x1, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x9, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x40, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -65860,16 +86550,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -65879,9 +86559,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -65891,15 +86568,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -65908,8 +86576,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -65922,60 +86588,101 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
-        0x1, /* gcFEATURE_BIT_SH_CMPLX */
-        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
-        0x1, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_SEPARATE_LS */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
+        0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
+        0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
-        0x1, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
-        0x1, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
@@ -65984,85 +86691,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000L-qi */
+    /* vipnano-s */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x4508000a, /* ProductID */
+        0x7010, /* ChipRevision */
+        0x15080001, /* ProductID */
         0x0, /* EcoID */
-        0x85, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -66345,16 +87069,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -66364,9 +87078,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -66376,15 +87087,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -66393,8 +87095,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -66407,147 +87107,205 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
-        0x1, /* gcFEATURE_BIT_SH_CMPLX */
-        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000L-di */
+    /* vipnano-d */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x508000a, /* ProductID */
-        0x4000000, /* EcoID */
-        0x91, /* CustomerID */
+        0x7010, /* ChipRevision */
+        0x25080001, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
-        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
-        0x20, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x20, /* gcFEATURE_VALUE_L1CacheSize */
+        0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+        0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x0, /* gcFEATURE_VALUE_NumResolvePipes */
-        0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x4, /* gcFEATURE_VALUE_NNCoreCount */
         0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -66830,16 +87588,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -66849,9 +87597,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -66861,15 +87606,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -66878,8 +87614,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -66892,147 +87626,205 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
         0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
-        0x1, /* gcFEATURE_BIT_SH_CMPLX */
-        0x1, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
+        0x0, /* gcFEATURE_BIT_SH_CMPLX */
+        0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s */
+    /* vipnano-q */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x15080001, /* ProductID */
+        0x7010, /* ChipRevision */
+        0x45080001, /* ProductID */
         0x0, /* EcoID */
-        0x23, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x0, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -67315,16 +88107,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -67334,9 +88116,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -67346,15 +88125,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -67363,8 +88133,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -67377,26 +88145,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -67408,54 +88164,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x0, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x0, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
-        0x0, /* gcFEATURE_BIT_NN_INT16_ALU */
+        0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
-        0x0, /* gcFEATURE_BIT_NN_INT8_SCALE */
+        0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
-        0x0, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
+        0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
+        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
-        0x0, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x0, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -67465,59 +88269,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_OCB_COUNTER */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-qi */
+    /* vipnano-o */
     {
         0x8000, /* ChipID */
-        0x7004, /* ChipRevision */
-        0x45080009, /* ProductID */
+        0x7010, /* ChipRevision */
+        0x85080001, /* ProductID */
         0x0, /* EcoID */
-        0x7d, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -67800,16 +88626,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -67819,9 +88635,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -67831,15 +88644,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -67848,8 +88652,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -67862,26 +88664,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -67893,54 +88683,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x0, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -67951,58 +88789,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-di */
+    /* vipnano-s */
     {
         0x8000, /* ChipID */
-        0x7000, /* ChipRevision */
-        0x25080009, /* ProductID */
+        0x7100, /* ChipRevision */
+        0x15080001, /* ProductID */
         0x0, /* EcoID */
-        0x7e, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -68285,16 +89145,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -68304,9 +89154,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -68316,15 +89163,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -68333,8 +89171,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -68347,26 +89183,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -68378,116 +89202,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
-        0x0, /* gcFEATURE_BIT_TP_REORDER_FIX */
+        0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-si */
+    /* vipnano-s+ */
     {
         0x8000, /* ChipID */
-        0x7120, /* ChipRevision */
-        0x15080009, /* ProductID */
-        0x0, /* EcoID */
-        0x80, /* CustomerID */
+        0x7100, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x3000000, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -68770,16 +89664,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -68789,9 +89673,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -68801,15 +89682,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -68818,8 +89690,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -68832,26 +89702,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -68863,54 +89721,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -68921,58 +89827,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000-oi MP */
+    /* vipnano-d */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x5080008, /* ProductID */
-        0x10000000, /* EcoID */
-        0x86, /* CustomerID */
+        0x7100, /* ChipRevision */
+        0x25080001, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x8, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x1, /* gcFEATURE_VALUE_CoreCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -69255,16 +90183,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -69274,9 +90192,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -69286,15 +90201,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -69303,8 +90209,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -69317,26 +90221,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -69348,54 +90240,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -69406,58 +90346,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000-oi SP */
+    /* vipnano-d+ */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x5080008, /* ProductID */
-        0x10000000, /* EcoID */
-        0x90, /* CustomerID */
+        0x7100, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x6000000, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -69740,16 +90702,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -69759,9 +90711,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -69771,15 +90720,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -69788,8 +90728,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -69802,26 +90740,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -69833,54 +90759,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -69891,58 +90865,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-qi */
+    /* vipnano-q */
     {
         0x8000, /* ChipID */
-        0x7120, /* ChipRevision */
-        0x45080009, /* ProductID */
+        0x7100, /* ChipRevision */
+        0x45080001, /* ProductID */
         0x0, /* EcoID */
-        0x88, /* CustomerID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x8, /* gcFEATURE_VALUE_NNCoreCount */
         0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
-        0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -70225,16 +91221,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -70244,9 +91230,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -70256,15 +91239,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -70273,8 +91247,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -70287,26 +91259,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -70318,54 +91278,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -70376,58 +91384,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-di */
+    /* vipnano-q+ */
     {
         0x8000, /* ChipID */
-        0x7110, /* ChipRevision */
-        0x25080009, /* ProductID */
-        0x0, /* EcoID */
-        0x7f, /* CustomerID */
+        0x7100, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0xc000000, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -70710,16 +91740,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -70729,9 +91749,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -70741,15 +91758,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -70758,8 +91766,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -70772,26 +91778,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -70803,54 +91797,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -70861,58 +91903,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vip8000UL-di */
+    /* vipnano-o */
     {
         0x8000, /* ChipID */
-        0x7120, /* ChipRevision */
-        0x508000b, /* ProductID */
-        0x6000000, /* EcoID */
-        0x92, /* CustomerID */
+        0x7100, /* ChipRevision */
+        0x85080001, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* gcFEATURE_VALUE_NumShaderCores */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -71195,16 +92259,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -71214,9 +92268,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -71226,15 +92277,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -71243,8 +92285,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -71257,26 +92297,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -71288,54 +92316,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -71346,58 +92422,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-di */
+    /* vipnano-o+ */
     {
         0x8000, /* ChipID */
-        0x7130, /* ChipRevision */
-        0x25080009, /* ProductID */
-        0x0, /* EcoID */
-        0x84, /* CustomerID */
+        0x7100, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x18000000, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        "", /* ProductName */
+        0x1, /* FormalRelease */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -71680,16 +92778,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -71699,9 +92787,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -71711,15 +92796,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -71728,8 +92804,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -71742,26 +92816,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -71773,116 +92835,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
-        0x0, /* gcFEATURE_BIT_NN_FP16_ALU */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x0, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
+        0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
         0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s+ */
+    /* vipnano-s */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x3000000, /* EcoID */
-        0x89, /* CustomerID */
+        0x7200, /* ChipRevision */
+        0x15080001, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -72165,16 +93297,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -72184,9 +93306,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -72196,15 +93315,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -72213,8 +93323,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -72227,26 +93335,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -72258,28 +93354,81 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
@@ -72289,85 +93438,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s */
+    /* vipnano-s+ */
     {
         0x8000, /* ChipID */
-        0x7010, /* ChipRevision */
-        0x15080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7200, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x3000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
-        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -72650,16 +93816,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -72669,9 +93825,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -72681,15 +93834,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -72698,8 +93842,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -72712,26 +93854,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -72742,117 +93872,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
     /* vipnano-d */
     {
         0x8000, /* ChipID */
-        0x7010, /* ChipRevision */
+        0x7200, /* ChipRevision */
         0x25080001, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
         0x4, /* gcFEATURE_VALUE_NNCoreCount */
         0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
         0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
         0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
         0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -73135,16 +94335,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -73154,9 +94344,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -73166,15 +94353,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -73183,8 +94361,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -73197,26 +94373,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -73227,117 +94391,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q */
+    /* vipnano-d+ */
     {
         0x8000, /* ChipID */
-        0x7010, /* ChipRevision */
-        0x45080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7200, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x6000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -73620,16 +94854,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -73639,9 +94863,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -73651,15 +94872,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -73668,8 +94880,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -73682,26 +94892,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -73712,117 +94910,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o */
+    /* vipnano-q */
     {
         0x8000, /* ChipID */
-        0x7010, /* ChipRevision */
-        0x85080001, /* ProductID */
+        0x7200, /* ChipRevision */
+        0x45080001, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
-        0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -74105,16 +95373,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -74124,9 +95382,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -74136,15 +95391,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -74153,8 +95399,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -74167,26 +95411,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -74197,117 +95429,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
-        0x1, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
-        0x0, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
+        0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s */
+    /* vipnano-q+ */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x15080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7200, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0xc000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x100, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -74590,16 +95892,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -74609,9 +95901,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -74621,15 +95910,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -74638,8 +95918,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -74652,26 +95930,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -74682,117 +95948,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s+ */
+    /* vipnano-o */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x3000000, /* EcoID */
+        0x7200, /* ChipRevision */
+        0x85080001, /* ProductID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x100, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -75075,16 +96411,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -75094,9 +96420,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -75106,15 +96429,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -75123,8 +96437,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -75137,26 +96449,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -75167,117 +96467,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d */
+    /* vipnano-o+ */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x25080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7200, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x18000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -75560,16 +96930,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -75579,9 +96939,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -75591,15 +96948,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -75608,8 +96956,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -75622,26 +96968,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -75652,117 +96986,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
         0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
         0x0, /* gcFEATURE_BIT_INPUT_4BIT */
         0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d+ */
+    /* vipnano-s */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x6000000, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x15080001, /* ProductID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x200, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -76045,16 +97449,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -76064,9 +97458,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -76076,15 +97467,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -76093,8 +97475,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -76107,26 +97487,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -76137,117 +97505,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q */
+    /* vipnano-s+ */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x45080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x3000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -76530,16 +97968,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -76549,9 +97977,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -76561,15 +97986,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -76578,8 +97994,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -76592,26 +98006,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -76622,117 +98024,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q+ */
+    /* vipnano-d */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0xc000000, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x25080001, /* ProductID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x400, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -77015,16 +98487,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -77034,9 +98496,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -77046,15 +98505,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -77063,8 +98513,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -77077,26 +98525,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -77107,117 +98543,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o */
+    /* vipnano-d+ */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x85080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x6000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -77500,16 +99006,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -77519,9 +99015,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -77531,15 +99024,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -77548,8 +99032,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -77562,26 +99044,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -77592,117 +99062,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o+ */
+    /* vipnano-q */
     {
         0x8000, /* ChipID */
-        0x7100, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x18000000, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x45080001, /* ProductID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
-        0x800, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -77985,16 +99525,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -78004,9 +99534,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -78016,15 +99543,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -78033,8 +99551,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -78047,26 +99563,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -78077,117 +99581,187 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
-        0x0, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x0, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
-        0x0, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
+        0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
-        0x0, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
+        0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
-        0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
-        0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
-        0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
+        0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s */
+    /* vipnano-q+ */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x15080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0xc000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -78470,16 +100044,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -78489,9 +100053,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -78501,15 +100062,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -78518,8 +100070,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -78532,26 +100082,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -78563,116 +100101,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s+ */
+    /* vipnano-o */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x3000000, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x85080001, /* ProductID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x7e2, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -78955,16 +100563,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -78974,9 +100572,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -78986,15 +100581,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -79003,8 +100589,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -79017,26 +100601,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -79048,116 +100620,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d */
+    /* vipnano-o+ */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x25080001, /* ProductID */
-        0x0, /* EcoID */
+        0x7300, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x18000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
         0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x10, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -79440,16 +101082,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -79459,9 +101091,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -79471,15 +101100,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -79488,8 +101108,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -79502,26 +101120,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -79533,116 +101139,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
         0x1, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
         0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x0, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x0, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d+ */
+    /* vipnano-s */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
+        0x8000, /* ChipRevision */
         0x5080001, /* ProductID */
-        0x6000000, /* EcoID */
+        0x2000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x1, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x10, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -79925,16 +101601,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -79944,9 +101610,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -79956,15 +101619,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -79973,8 +101627,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -79987,26 +101639,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -80018,116 +101658,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q */
+    /* vipnano-s+ */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x45080001, /* ProductID */
-        0x0, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x3000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x1, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x10, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -80410,16 +102120,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -80429,9 +102129,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -80441,15 +102138,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -80458,8 +102146,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -80472,26 +102158,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -80503,116 +102177,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q+ */
+    /* vipnano-d */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
+        0x8000, /* ChipRevision */
         0x5080001, /* ProductID */
-        0xc000000, /* EcoID */
+        0x4000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x20, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x40, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -80895,16 +102639,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -80914,9 +102648,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -80926,15 +102657,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -80943,8 +102665,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -80957,26 +102677,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -80988,116 +102696,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o */
+    /* vipnano-d+ */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
-        0x85080001, /* ProductID */
-        0x0, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x6000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x20, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x40, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -81380,16 +103158,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -81399,9 +103167,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -81411,15 +103176,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -81428,8 +103184,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -81442,26 +103196,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -81473,116 +103215,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o+ */
+    /* vipnano-q */
     {
         0x8000, /* ChipID */
-        0x7200, /* ChipRevision */
+        0x8000, /* ChipRevision */
         0x5080001, /* ProductID */
-        0x18000000, /* EcoID */
+        0x8000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x40, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x40, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -81865,16 +103677,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -81884,9 +103686,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -81896,15 +103695,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -81913,8 +103703,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -81927,26 +103715,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -81958,116 +103734,186 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
-        0x0, /* gcFEATURE_BIT_USC_STAY_LRU */
-        0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
-        0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
-        0x0, /* gcFEATURE_BIT_INPUT_4BIT */
-        0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
+        0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
+        0x1, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */
+        0x1, /* gcFEATURE_BIT_INPUT_4BIT */
+        0x1, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */
         0x1, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s */
+    /* vipnano-q+ */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x15080001, /* ProductID */
-        0x0, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0xc000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x4, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x40, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x40, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -82350,16 +104196,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -82369,9 +104205,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -82381,15 +104214,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -82398,8 +104222,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -82412,26 +104234,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -82443,54 +104253,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -82501,58 +104359,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-s+ */
+    /* vipnano-o */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
+        0x8000, /* ChipRevision */
         0x5080001, /* ProductID */
-        0x3000000, /* EcoID */
+        0x10000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x4, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x3, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x20, /* gcFEATURE_VALUE_NNCoreCount */
+        0x20, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x20, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x20, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x100, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x10, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x40, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x40, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -82835,16 +104715,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -82854,9 +104724,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -82866,15 +104733,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -82883,8 +104741,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -82897,26 +104753,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -82928,54 +104772,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -82986,58 +104878,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d */
+    /* vipnano-o+ */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x25080001, /* ProductID */
-        0x0, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080001, /* ProductID */
+        0x18000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x4, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x4, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x30, /* gcFEATURE_VALUE_NNCoreCount */
+        0x30, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x30, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x30, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x18, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x40, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x40, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -83320,16 +105234,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -83339,9 +105243,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -83351,15 +105252,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -83368,8 +105260,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -83382,26 +105272,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -83413,54 +105291,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -83471,58 +105397,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-d+ */
+    /* vip8000ulo_mp */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x6000000, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080003, /* ProductID */
+        0x10000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x2, /* gcFEATURE_VALUE_CoreCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x6, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x200, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x3, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x10, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -83757,7 +105705,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -83805,16 +105753,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -83824,9 +105762,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -83836,15 +105771,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -83853,8 +105779,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -83867,30 +105791,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -83898,54 +105810,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -83956,58 +105916,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q */
+    /* vip8000ulo+_mp */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x45080001, /* ProductID */
-        0x0, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080003, /* ProductID */
+        0x18000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x2, /* gcFEATURE_VALUE_CoreCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x8, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x4, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x18, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -84242,7 +106224,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -84290,16 +106272,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -84309,9 +106281,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -84321,15 +106290,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -84338,8 +106298,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -84352,30 +106310,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -84383,54 +106329,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -84441,58 +106435,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-q+ */
+    /* vip8000lh_mp */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0xc000000, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080002, /* ProductID */
+        0x20000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x4, /* gcFEATURE_VALUE_CoreCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0xc, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
         0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x6, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x10, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -84727,7 +106743,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -84775,16 +106791,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -84794,9 +106800,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -84806,15 +106809,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -84823,8 +106817,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -84837,30 +106829,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -84868,54 +106848,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -84926,58 +106954,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o */
+    /* vip8000lh+_mp */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x85080001, /* ProductID */
-        0x0, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x5080002, /* ProductID */
+        0x30000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
-        0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x4, /* gcFEATURE_VALUE_CoreCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x10, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x7e2, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0x8, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x400, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x18, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -85212,7 +107262,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_FaceLod */
         0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
         0x1, /* gcFEATURE_BIT_VMSAA */
-        0x0, /* gcFEATURE_BIT_ChipEnableLink */
+        0x1, /* gcFEATURE_BIT_ChipEnableLink */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
         0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
         0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
@@ -85260,16 +107310,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -85279,9 +107319,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -85291,15 +107328,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -85308,8 +107336,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -85322,30 +107348,18 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
-        0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
+        0x1, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */
         0x0, /* gcFEATURE_BIT_SMALLBATCH */
         0x0, /* gcFEATURE_BIT_SH_CMPLX */
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
@@ -85353,54 +107367,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x1, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -85411,58 +107473,80 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
-    /* vipnano-o+ */
+    /* vippico */
     {
         0x8000, /* ChipID */
-        0x7300, /* ChipRevision */
-        0x5080001, /* ProductID */
-        0x18000000, /* EcoID */
+        0x8000, /* ChipRevision */
+        0x8000001, /* ProductID */
+        0x2000000, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
+        "", /* ProductName */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
-        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
-        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
-        0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x10, /* gcFEATURE_VALUE_LocalStorageSize */
         0x10, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */
+        0x2, /* gcFEATURE_VALUE_USC_BANKS */
+        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x0, /* gcFEATURE_VALUE_BufferSize */
+        0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x0, /* gcFEATURE_VALUE_NumResolvePipes */
         0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x40, /* gcFEATURE_VALUE_NNMadPerCore */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
-        0x18, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */
+        0x2, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */
         0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */
-        0x40, /* gcFEATURE_VALUE_NNAccumBufferDepth */
-        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x20, /* gcFEATURE_VALUE_NNAccumBufferDepth */
         0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x800, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
-        0xc, /* gcFEATURE_VALUE_TPEngine_CoreCount */
+        0x80, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */
+        0x1, /* gcFEATURE_VALUE_TPEngine_CoreCount */
         0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */
         0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */
         0x200, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */
+        0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */
+        0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */
+        0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */
+        0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */
+        0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */
+        0x20, /* gcFEATURE_VALUE_VIP_SRAM_WIDTH_INBYTE */
+        0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */
         0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x1, /* gcFEATURE_BIT_REG_Pipe3D */
@@ -85745,16 +107829,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
         0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
         0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
-        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
-        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
-        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
         0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
         0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
         0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
@@ -85764,9 +107838,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
-        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
-        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
-        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
         0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
         0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
         0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
@@ -85776,15 +107847,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
         0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
         0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
-        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
-        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
-        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
-        0x0, /* gcFEATURE_BIT_VG_MMU */
-        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
-        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
-        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
         0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
         0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
         0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
@@ -85793,8 +107855,6 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
         0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
         0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
-        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
-        0x0, /* gcFEATURE_BIT_VG_FP25 */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
         0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
         0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
@@ -85807,26 +107867,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
         0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
         0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
-        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
         0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
-        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
-        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
-        0x0, /* gcFEATURE_BIT_DC_TILED */
-        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
-        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
-        0x0, /* gcFEATURE_BIT_DC_MMU */
-        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
-        0x0, /* gcFEATURE_BIT_DC_QOS */
         0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
         0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
         0x1, /* gcFEATURE_BIT_RA_CG_FIX */
-        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
-        0x1, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
         0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
-        0x1, /* gcFEATURE_BIT_TP_ENGINE */
         0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */
         0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */
         0x1, /* gcFEATURE_BIT_SECURITY_AHB */
@@ -85838,54 +107886,102 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */
         0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */
         0x1, /* gcFEATURE_BIT_SH_END_OF_BB */
-        0x1, /* gcFEATURE_BIT_VIP_V7 */
         0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */
         0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */
         0x0, /* gcFEATURE_BIT_ASYNC_BLT */
         0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */
         0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */
         0x0, /* gcFEATURE_BIT_SEPARATE_LS */
-        0x1, /* gcFEATURE_BIT_MCFE */
         0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */
-        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
-        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
         0x0, /* gcFEATURE_BIT_FENCE_32BIT */
         0x0, /* gcFEATURE_BIT_FENCE_64BIT */
-        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
-        0x1, /* gcFEATURE_BIT_TP_REORDER */
         0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */
-        0x1, /* gcFEATURE_BIT_TP_LRN */
         0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */
         0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */
-        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */
         0x0, /* gcFEATURE_BIT_HWMANAGED_LS */
+        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
+        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
+        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
+        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
+        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
+        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
+        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
+        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
+        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
+        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
+        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
+        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */
+        0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */
+        0x0, /* gcFEATURE_BIT_MP_ARCH */
+        0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+        0x0, /* gcFEATURE_BIT_VG_FP25 */
+        0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
+        0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+        0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+        0x0, /* gcFEATURE_BIT_VG_MMU */
+        0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+        0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+        0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
+        0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
+        0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
+        0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */
+        0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */
+        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
+        0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+        0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+        0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */
+        0x0, /* gcFEATURE_BIT_DC_TILED */
+        0x0, /* gcFEATURE_BIT_DC_YUV_L1 */
+        0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */
+        0x0, /* gcFEATURE_BIT_DC_MMU */
+        0x0, /* gcFEATURE_BIT_DC_COMPRESSION */
+        0x0, /* gcFEATURE_BIT_DC_QOS */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+        0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+        0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+        0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+        0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+        0x1, /* gcFEATURE_BIT_NN_FLOAT */
+        0x1, /* gcFEATURE_BIT_TP_ENGINE */
+        0x1, /* gcFEATURE_BIT_VIP_V7 */
+        0x1, /* gcFEATURE_BIT_MCFE */
+        0x1, /* gcFEATURE_BIT_NN_INTERLEVE8 */
+        0x1, /* gcFEATURE_BIT_TP_REORDER */
+        0x1, /* gcFEATURE_BIT_TP_LRN */
+        0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */
         0x1, /* gcFEATURE_BIT_NN_FP16_ALU */
         0x1, /* gcFEATURE_BIT_NN_INT16_ALU */
         0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */
-        0x0, /* gcFEATURE_BIT_NN_ZDP3 */
+        0x1, /* gcFEATURE_BIT_NN_ZDP3 */
         0x0, /* gcFEATURE_BIT_NN_ZDP6 */
         0x0, /* gcFEATURE_BIT_NN_XYDP9 */
         0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */
         0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */
-        0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */
         0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */
-        0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */
         0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */
         0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */
         0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */
-        0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */
-        0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */
-        0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */
         0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */
-        0x1, /* gcFEATURE_BIT_NN_XYDP6 */
+        0x0, /* gcFEATURE_BIT_NN_XYDP6 */
         0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */
         0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */
         0x1, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */
-        0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
-        0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */
+        0x1, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */
+        0x1, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */
         0x1, /* gcFEATURE_BIT_SWTILING_PHASE3 */
         0x1, /* gcFEATURE_BIT_USC_STAY_LRU */
         0x1, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */
@@ -85896,14 +107992,25 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */
         0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */
         0x1, /* gcFEATURE_BIT_OCB_COUNTER */
-        0x0, /* gcFEATURE_BIT_PE_SWIZZLE */
-        0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */
-        0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */
-        0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */
-        0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */
-        0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */
-        0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */
-        0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */
+        0x1, /* gcFEATURE_BIT_NN_XYDP0 */
+        0x0, /* gcFEATURE_BIT_ZRL_7BIT */
+        0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */
+        0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */
+        0x0, /* gcFEATURE_BIT_SCALER */
+        0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */
+        0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */
+        0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */
+        0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */
+        0x1, /* gcFEATURE_BIT_NN_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_TP_SMALLBATCH */
+        0x1, /* gcFEATURE_BIT_ZRL_8BIT */
+        0x1, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */
+        0x1, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */
+        0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */
+        0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */
+        0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */
+        0x1, /* gcFEATURE_BIT_VIP_DEC400 */
     },
 };
 
@@ -85954,3 +108061,5 @@ gcQueryFeatureDB(
     return gcvNULL;
 }
 #endif /* _gc_feature_database_h_ */
+
+
index 3438052..b2b83c3 100644 (file)
@@ -514,6 +514,15 @@ gckOS_UserLogicalToPhysical(
     OUT gctPHYS_ADDR_T * Address
     );
 
+
+/*  Map a physical address into kernel space.*/
+gceSTATUS
+gckOS_MapPhysicalToKernelSpace(
+    IN gckOS Os,
+    IN gckVIDMEM_NODE NodeObject,
+    OUT gctPOINTER * Logical
+    );
+
 /* Map physical memory. */
 gceSTATUS
 gckOS_MapPhysical(
@@ -1316,7 +1325,7 @@ gckOS_CacheClean(
     gckOS Os,
     gctUINT32 ProcessID,
     gctPHYS_ADDR Handle,
-    gctPHYS_ADDR_T Physical,
+    gctSIZE_T Offset,
     gctPOINTER Logical,
     gctSIZE_T Bytes
     );
@@ -1326,7 +1335,7 @@ gckOS_CacheFlush(
     gckOS Os,
     gctUINT32 ProcessID,
     gctPHYS_ADDR Handle,
-    gctPHYS_ADDR_T Physical,
+    gctSIZE_T Offset,
     gctPOINTER Logical,
     gctSIZE_T Bytes
     );
@@ -1336,7 +1345,7 @@ gckOS_CacheInvalidate(
     gckOS Os,
     gctUINT32 ProcessID,
     gctPHYS_ADDR Handle,
-    gctPHYS_ADDR_T Physical,
+    gctSIZE_T Offset,
     gctPOINTER Logical,
     gctSIZE_T Bytes
     );
index bf7a264..fd52383 100644 (file)
@@ -456,6 +456,20 @@ typedef struct _gcsHAL_LIMITS
 
 }gcsHAL_LIMITS;
 
+
+typedef struct _gcsHAL_CHIPIDENTITY
+{
+    gceCHIPMODEL                chipModel;
+    gctUINT32                   chipRevision;
+    gctUINT32                   productID;
+    gctUINT32                   customerID;
+    gctUINT32                   ecoID;
+    gceCHIP_FLAG                chipFlags;
+    gctUINT32                   platformFlagBits;
+}
+gcsHAL_CHIPIDENTITY;
+
+
 #define gcdEXTERNAL_MEMORY_NAME_MAX 32
 #define gcdEXTERNAL_MEMORY_DATA_MAX 8
 
@@ -633,6 +647,12 @@ gcoHAL_QueryChipIdentity(
     OUT gctUINT32* ChipMinorFeatures
     );
 
+gceSTATUS gcoHAL_QueryChipIdentityEx(
+    IN gcoHAL Hal,
+    IN gctUINT32 SizeOfParam,
+    OUT gcsHAL_CHIPIDENTITY *ChipIdentity
+    );
+
 
 gceSTATUS
 gcoHAL_QuerySuperTileMode(
@@ -1088,6 +1108,14 @@ gcoHAL_GetGraphicBufferFd(
     OUT gctINT32 * Fd
     );
 
+gceSTATUS
+gcoHAL_AlignToTile(
+    IN OUT gctUINT32 * Width,
+    IN OUT gctUINT32 * Height,
+    IN  gceSURF_TYPE Type,
+    IN  gceSURF_FORMAT Format
+    );
+
 /******************************************************************************\
 ********************************** gcoOS Object *********************************
 \******************************************************************************/
@@ -4650,8 +4678,8 @@ gckOS_Verify(
         } \
         while (gcvFALSE)
 #else
-#   define gcmVERIFY_OK(func)       func
-#   define gcmkVERIFY_OK(func)      func
+#   define gcmVERIFY_OK(func)       (void)func
+#   define gcmkVERIFY_OK(func)      (void)func
 #endif
 
 gctCONST_STRING
index e8d7cbb..a8acea2 100644 (file)
@@ -292,6 +292,15 @@ typedef struct _gcsUSER_MEMORY_DESC
 gcsUSER_MEMORY_DESC;
 
 
+enum
+{
+    /* GPU can't issue more that 32bit physical address */
+    gcvPLATFORM_FLAG_LIMIT_4G_ADDRESS = 1 << 0,
+
+    gcvPLATFORM_FLAG_IMX_MM           = 1 << 1,
+};
+
+
 #define gcdMAX_FLAT_MAPPING_COUNT           16
 
 typedef struct _gcsFLAT_MAPPING_RANGE
@@ -373,6 +382,8 @@ typedef struct _gcsHAL_QUERY_CHIP_IDENTITY
 
     /* Customer ID. */
     gctUINT32                   customerID;
+
+    gctUINT32                   platformFlagBits;
 }
 gcsHAL_QUERY_CHIP_IDENTITY;
 
@@ -1253,7 +1264,7 @@ typedef struct _gcsHAL_INTERFACE
             IN gctUINT64                shBuf;
 
             /* A signal. */
-            IN gctUINT32                signal;
+            IN gctUINT64                signal;
 
             OUT gctINT32                fd;
         }
index e269cc9..cc8eab7 100644 (file)
@@ -52,6 +52,7 @@
 *
 *****************************************************************************/
 
+
 #ifndef __VIVNATE_DRM_H__
 #define __VIVNATE_DRM_H__
 
index 7a20987..4c2f925 100644 (file)
@@ -243,6 +243,7 @@ typedef struct _gcsSURF_BLIT_ARGS
     gcsRECT     scissor;
     gctUINT     flags;
     gctUINT     srcNumSlice, dstNumSlice;
+    gctBOOL     needDecode;
 }
 gcsSURF_BLIT_ARGS;
 
@@ -321,6 +322,7 @@ typedef enum _gceSPLIT_DRAW_TYPE
     gcvSPLIT_DRAW_1,
     gcvSPLIT_DRAW_2,
     gcvSPLIT_DRAW_3,
+    gcvSPLIT_DRAW_4,
     gcvSPLIT_DRAW_XFB,
     gcvSPLIT_DRAW_INDEX_FETCH,
     gcvSPLIT_DRAW_TCS,
@@ -2190,6 +2192,7 @@ gcoTEXTURE_AddMipMap(
     IN gctSIZE_T Depth,
     IN gctUINT Faces,
     IN gcePOOL Pool,
+    IN gctBOOL Filterable,
     OUT gcoSURF * Surface
     );
 
@@ -2206,6 +2209,7 @@ gcoTEXTURE_AddMipMapEx(
     IN gcePOOL Pool,
     IN gctUINT32 Samples,
     IN gctBOOL Protected,
+    IN gctBOOL Filterable,
     OUT gcoSURF * Surface
     );
 
@@ -2379,7 +2383,8 @@ gceSTATUS
 gcoTEXTURE_GenerateMipMap(
     IN gcoTEXTURE Texture,
     IN gctINT   BaseLevel,
-    IN gctINT   MaxLevel
+    IN gctINT   MaxLevel,
+    IN gctBOOL  sRGBDecode
     );
 
 /******************************************************************************\
index 5d5c9f4..b854dc6 100644 (file)
@@ -516,6 +516,8 @@ typedef enum _gceFEATURE
     gcvFEATURE_IMAGE_LS_NO_FULLMASK_FIX,
     gcvFEATURE_PE_TILE_CACHE_FLUSH_FIX,
     gcvFEATURE_USC_ATOMIC_FIX2,
+    gcvFEATURE_PA_LINECLIP_FIX,
+    gcvFEATURE_MAX_POINTSIZE_CLAMP,
 
     /* Insert features above this comment only. */
     gcvFEATURE_COUNT                /* Not a feature. */
@@ -567,7 +569,7 @@ typedef enum _gceOPTION
     gcvOPTION_OCL_ASYNC_BLT = 57,
     gcvOPTION_OCL_IN_THREAD = 58,
     gcvOPTION_COMPRESSION_DEC400 = 59,
-
+    gcvOPTION_NO_Y_INVERT = 60,
     /* Insert option above this comment only */
     gcvOPTION_COUNT                     /* Not a OPTION*/
 }
@@ -922,6 +924,7 @@ typedef enum _gceSURF_FORMAT
     gcvSURF_L16,
     gcvSURF_L32,
     gcvSURF_L1,
+    gcvSURF_L8_RAW,
 
     /* Alpha/Luminance formats. */
     gcvSURF_A4L4                = 900,
@@ -933,6 +936,8 @@ typedef enum _gceSURF_FORMAT
 
     gcvSURF_A8L8_1_A8R8G8B8,
 
+    gcvSURF_A8L8_RAW,
+
     /* Bump formats. */
     gcvSURF_L6V5U5              = 1000,
     gcvSURF_V8U8,
index 73e98a9..2c41d15 100644 (file)
@@ -741,23 +741,21 @@ This define enables the use of VM for gckCommand and fence buffers.
 #endif
 
 /*
-   gcdNONPAGED_MEMORY_CACHEABLE
+   gcdENABLE_CACHEABLE_COMMAND_BUFFER
 
-        When non-zero, non paged memory will be cacheable.
+        When non-zero, command buffer will be cacheable.
 */
-#ifndef gcdNONPAGED_MEMORY_CACHEABLE
-#   define gcdNONPAGED_MEMORY_CACHEABLE         0
+#ifndef gcdENABLE_CACHEABLE_COMMAND_BUFFER
+#   define gcdENABLE_CACHEABLE_COMMAND_BUFFER          0
 #endif
 
 /*
-   gcdNONPAGED_MEMORY_BUFFERABLE
+   gcdENABLE_BUFFERABLE_VIDEO_MEMORY
 
-        When non-zero, non paged memory will be bufferable.
-        gcdNONPAGED_MEMORY_BUFFERABLE and gcdNONPAGED_MEMORY_CACHEABLE
-        can't be set 1 at same time
+        When non-zero, all video memory will be bufferable by default.
 */
-#ifndef gcdNONPAGED_MEMORY_BUFFERABLE
-#   define gcdNONPAGED_MEMORY_BUFFERABLE        1
+#ifndef gcdENABLE_BUFFERABLE_VIDEO_MEMORY
+#   define gcdENABLE_BUFFERABLE_VIDEO_MEMORY           1
 #endif
 
 /*
@@ -986,6 +984,10 @@ This define enables the use of VM for gckCommand and fence buffers.
 #   define gcdANDROID_NATIVE_FENCE_SYNC         0
 #endif
 
+#ifndef gcdLINUX_SYNC_FILE
+#   define gcdLINUX_SYNC_FILE                   0
+#endif
+
 /*
     gcdANDROID_IMPLICIT_NATIVE_BUFFER_SYNC
 
@@ -1097,7 +1099,7 @@ This define enables the use of VM for gckCommand and fence buffers.
  */
 
 #ifndef gcdINTERRUPT_STATISTIC
-#if defined(LINUX) || defined(__QNXNTO__) || defined(UNDER_CE)
+#if defined(LINUX) || defined(__QNXNTO__) || defined(UNDER_CE) || defined(__VXWORKS__)
 #   define gcdINTERRUPT_STATISTIC               1
 #else
 #   define gcdINTERRUPT_STATISTIC               0
index 8d2a4eb..996811d 100644 (file)
@@ -485,6 +485,7 @@ typedef enum _gceSTATUS
     gcvSTATUS_DEVICE                =   -27,
     gcvSTATUS_NOT_MULTI_PIPE_ALIGNED =   -28,
     gcvSTATUS_OUT_OF_SAMPLER         =   -29,
+    gcvSTATUS_CLOCK_ERROR           =   -30,
 
     /* Linker errors. */
     gcvSTATUS_GLOBAL_TYPE_MISMATCH              =   -1000,
@@ -782,7 +783,7 @@ gceSTATUS;
 #define gcmBITSET(x, y)         ((x) & (y))
 /*******************************************************************************
 **
-**  gcmPTR2INT
+**  gcmPTR2SIZE
 **
 **      Convert a pointer to an integer value.
 **
@@ -790,7 +791,7 @@ gceSTATUS;
 **
 **      p       Pointer value.
 */
-#define gcmPTR2INT(p) \
+#define gcmPTR2SIZE(p) \
 (\
     (gctUINTPTR_T) (p) \
 )
@@ -855,7 +856,8 @@ gceSTATUS;
 **
 **      Return a value with all bytes in the 32 bit argument swapped.
 */
-#if defined(__GNUC__) && !defined(__KERNEL__)
+#if !defined(__KERNEL__) && defined(__GNUC__) && (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ >= 40300) \
+   && !defined(__VXWORKS__)
 #  define gcmBSWAP32(x)     __builtin_bswap32(x)
 #else
 #  define gcmBSWAP32(x) ((gctUINT32)(\
index 1191597..660a8f1 100644 (file)
@@ -62,9 +62,9 @@
 
 #define gcvVERSION_PATCH        4
 
-#define gcvVERSION_BUILD     163672
+#define gcvVERSION_BUILD     190076
 
-#define gcvVERSION_STRING    "6.2.4.p2.163672"
+#define gcvVERSION_STRING    "6.2.4.p4.190076"
 
 #endif /* __gc_hal_version_h_ */
 
index bc74fb9..36bf9c5 100644 (file)
 #include <linux/mman.h>
 #include <asm/atomic.h>
 #include <linux/dma-mapping.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)
 #include <linux/dma-direct.h>
+#endif
+
 #include <linux/slab.h>
 #include <linux/platform_device.h>
 
@@ -130,25 +133,6 @@ _DebugfsCleanup(
     gckDEBUGFS_DIR_Deinit(&Allocator->debugfsDir);
 }
 
-#ifdef CONFIG_ARM64
-static struct device *
-_GetDevice(
-    IN gckOS Os
-    )
-{
-    gcsPLATFORM *platform;
-
-    platform = Os->device->platform;
-
-    if (!platform)
-    {
-        return gcvNULL;
-    }
-
-    return &platform->device->dev;
-}
-#endif
-
 static gceSTATUS
 _DmaAlloc(
     IN gckALLOCATOR Allocator,
@@ -177,12 +161,10 @@ _DmaAlloc(
 #endif
 
     mdlPriv->kvaddr
-#if defined CONFIG_ARM64
-        = dma_alloc_coherent(_GetDevice(os), NumPages * PAGE_SIZE, &mdlPriv->dmaHandle, gfp);
-#elif defined CONFIG_MIPS || defined CONFIG_CPU_CSKYV2 || defined CONFIG_PPC
-        = dma_alloc_coherent(gcvNULL, NumPages * PAGE_SIZE, &mdlPriv->dmaHandle, gfp);
+#if defined CONFIG_MIPS || defined CONFIG_CPU_CSKYV2 || defined CONFIG_PPC || defined CONFIG_ARM64
+        = dma_alloc_coherent(galcore_device, NumPages * PAGE_SIZE, &mdlPriv->dmaHandle, gfp);
 #else
-        = dma_alloc_writecombine(gcvNULL, NumPages * PAGE_SIZE,  &mdlPriv->dmaHandle, gfp);
+        = dma_alloc_writecombine(galcore_device, NumPages * PAGE_SIZE,  &mdlPriv->dmaHandle, gfp);
 #endif
 
 #ifdef CONFLICT_BETWEEN_BASE_AND_PHYS
@@ -300,12 +282,10 @@ _DmaFree(
     struct mdl_dma_priv *mdlPriv=(struct mdl_dma_priv *)Mdl->priv;
     gcsDMA_PRIV_PTR allocatorPriv = (gcsDMA_PRIV_PTR)Allocator->privateData;
 
-#if defined CONFIG_ARM64
-    dma_free_coherent(_GetDevice(os), Mdl->numPages * PAGE_SIZE, mdlPriv->kvaddr, mdlPriv->dmaHandle);
-#elif defined CONFIG_MIPS || defined CONFIG_CPU_CSKYV2 || defined CONFIG_PPC
-    dma_free_coherent(gcvNULL, Mdl->numPages * PAGE_SIZE, mdlPriv->kvaddr, mdlPriv->dmaHandle);
+#if defined CONFIG_MIPS || defined CONFIG_CPU_CSKYV2 || defined CONFIG_PPC || defined CONFIG_ARM64
+    dma_free_coherent(galcore_device, Mdl->numPages * PAGE_SIZE, mdlPriv->kvaddr, mdlPriv->dmaHandle);
 #else
-    dma_free_writecombine(gcvNULL, Mdl->numPages * PAGE_SIZE, mdlPriv->kvaddr, mdlPriv->dmaHandle);
+    dma_free_writecombine(galcore_device, Mdl->numPages * PAGE_SIZE, mdlPriv->kvaddr, mdlPriv->dmaHandle);
 #endif
 
     gckOS_Free(os, mdlPriv);
@@ -505,8 +485,8 @@ static gceSTATUS
 _DmaCache(
     IN gckALLOCATOR Allocator,
     IN PLINUX_MDL Mdl,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
-    IN gctUINT32 Physical,
     IN gctUINT32 Bytes,
     IN gceCACHEOPERATION Operation
     )
index 5f0e7b4..6f37daf 100644 (file)
@@ -244,10 +244,10 @@ _DmabufAttach(
         npages += (sg_dma_len(s) + PAGE_SIZE - 1) / PAGE_SIZE;
     }
 
-    /* Allocate page arrary. */
+    /* Allocate page array. */
     gcmkONERROR(gckOS_Allocate(os, npages * gcmSIZEOF(*pagearray), (gctPOINTER *)&pagearray));
 
-    /* Fill page arrary. */
+    /* Fill page array. */
     for_each_sg(sgt->sgl, s, sgt->orig_nents, i)
     {
         for (j = 0; j < (sg_dma_len(s) + PAGE_SIZE - 1) / PAGE_SIZE; j++)
@@ -277,8 +277,7 @@ _DmabufAttach(
 
     Mdl->priv = buf_desc;
 
-    /* Need set it as true to avoid MMU mapping. */
-    Mdl->contiguous = gcvTRUE;
+    Mdl->contiguous = (sgt->nents == 1) ? gcvTRUE : gcvFALSE;
 
     gcmkFOOTER_NO();
     return gcvSTATUS_OK;
@@ -417,8 +416,8 @@ static gceSTATUS
 _DmabufCache(
     IN gckALLOCATOR Allocator,
     IN PLINUX_MDL Mdl,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
-    IN gctUINT32 Physical,
     IN gctUINT32 Bytes,
     IN gceCACHEOPERATION Operation
     )
@@ -434,8 +433,10 @@ _DmabufCache(
         dma_sync_sg_for_device(galcore_device, sgt->sgl, sgt->nents, dir);
         break;
     case gcvCACHE_FLUSH:
-        dir = DMA_BIDIRECTIONAL;
+        dir = DMA_TO_DEVICE;
         dma_sync_sg_for_device(galcore_device, sgt->sgl, sgt->nents, dir);
+        dir = DMA_FROM_DEVICE;
+        dma_sync_sg_for_cpu(galcore_device, sgt->sgl, sgt->nents, dir);
         break;
     case gcvCACHE_INVALIDATE:
         dir = DMA_FROM_DEVICE;
index 71a867c..d678990 100644 (file)
@@ -284,8 +284,8 @@ _GFPAlloc(
 {
     gceSTATUS status;
     gctUINT i;
-    u32 gfp = GFP_KERNEL | __GFP_HIGHMEM | gcdNOWARN;
     gctBOOL contiguous = Flags & gcvALLOC_FLAG_CONTIGUOUS;
+    u32 gfp = (contiguous ? (__GFP_HIGH | __GFP_ATOMIC) : GFP_KERNEL) | __GFP_HIGHMEM | gcdNOWARN;
 
     struct gfp_alloc *priv = (struct gfp_alloc *)Allocator->privateData;
     struct gfp_mdl_priv *mdlPriv = gcvNULL;
@@ -370,7 +370,7 @@ _GFPAlloc(
 
         mdlPriv->dma_addr = dma_map_page(galcore_device,
                 mdlPriv->contiguousPages, 0, NumPages * PAGE_SIZE,
-                DMA_TO_DEVICE);
+                DMA_FROM_DEVICE);
 
         if (!mdlPriv->dma_addr)
         {
@@ -427,7 +427,7 @@ _GFPAlloc(
         }
 
         result = dma_map_sg(galcore_device,
-                    mdlPriv->sgt.sgl, mdlPriv->sgt.nents, DMA_TO_DEVICE);
+                    mdlPriv->sgt.sgl, mdlPriv->sgt.nents, DMA_FROM_DEVICE);
 
         if (result != mdlPriv->sgt.nents)
         {
@@ -680,7 +680,12 @@ _GFPMmap(
 
     if (Cacheable == gcvFALSE)
     {
+        /* Make this mapping non-cached. */
+#if gcdENABLE_BUFFERABLE_VIDEO_MEMORY
         vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
+#else
+        vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+#endif
     }
 
     if (platform && platform->ops->adjustProt)
@@ -883,24 +888,9 @@ _GFPMapKernel(
     gctINT numPages = Mdl->numPages;
     struct gfp_mdl_priv *mdlPriv = Mdl->priv;
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    if (Mdl->contiguous)
-    {
-        addr = page_address(mdlPriv->contiguousPages);
-    }
-    else
-    {
-        addr = vmap(mdlPriv->nonContiguousPages,
-                    numPages,
-                    0,
-                    PAGE_KERNEL);
-
-        /* Trigger a page fault. */
-        memset(addr, 0, numPages * PAGE_SIZE);
-    }
-#else
     struct page ** pages;
     gctBOOL free = gcvFALSE;
+    pgprot_t pgprot;
     gctINT i;
 
     if (Mdl->contiguous)
@@ -924,19 +914,26 @@ _GFPMapKernel(
         pages = mdlPriv->nonContiguousPages;
     }
 
-    addr = vmap(pages, numPages, 0, pgprot_writecombine(PAGE_KERNEL));
-
-    /* Trigger a page fault. */
-    for (i = 0; i < numPages; i++)
+    /* ioremap() can't work on system memory since 2.6.38. */
+    if (Mdl->cacheable)
     {
-        *(gctINT *)(addr + PAGE_SIZE * i) = 0;
+        pgprot = PAGE_KERNEL;
     }
+    else
+    {
+#if gcdENABLE_BUFFERABLE_VIDEO_MEMORY
+        pgprot = pgprot_writecombine(PAGE_KERNEL);
+#else
+        pgprot = pgprot_noncached(PAGE_KERNEL);
+#endif
+    }
+
+    addr = vmap(pages, numPages, 0, pgprot);
 
     if (free)
     {
         kfree(pages);
     }
-#endif
 
     if (addr)
     {
@@ -956,10 +953,7 @@ _GFPUnmapKernel(
     IN gctPOINTER Logical
     )
 {
-
-#if !gcdNONPAGED_MEMORY_CACHEABLE
     vunmap(Logical);
-#endif
 
     return gcvSTATUS_OK;
 }
@@ -968,8 +962,8 @@ static gceSTATUS
 _GFPCache(
     IN gckALLOCATOR Allocator,
     IN PLINUX_MDL Mdl,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
-    IN gctUINT32 Physical,
     IN gctUINT32 Bytes,
     IN gceCACHEOPERATION Operation
     )
@@ -995,7 +989,7 @@ _GFPCache(
 
         break;
     case gcvCACHE_FLUSH:
-        dir = DMA_BIDIRECTIONAL;
+        dir = DMA_TO_DEVICE;
 
         if (mdlPriv->contiguous)
         {
@@ -1008,6 +1002,19 @@ _GFPCache(
                     mdlPriv->sgt.sgl, mdlPriv->sgt.nents, dir);
         }
 
+        dir = DMA_FROM_DEVICE;
+
+        if (mdlPriv->contiguous)
+        {
+            dma_sync_single_for_cpu(galcore_device,
+                    mdlPriv->dma_addr, Mdl->numPages << PAGE_SHIFT, dir);
+        }
+        else
+        {
+            dma_sync_sg_for_cpu(galcore_device,
+                    mdlPriv->sgt.sgl, mdlPriv->sgt.nents, dir);
+        }
+
         break;
     case gcvCACHE_INVALIDATE:
         dir = DMA_FROM_DEVICE;
index a39042f..0b35e3d 100644 (file)
@@ -399,8 +399,8 @@ static gceSTATUS
 reserved_mem_cache_op(
     IN gckALLOCATOR Allocator,
     IN PLINUX_MDL Mdl,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
-    IN gctUINT32 Physical,
     IN gctUINT32 Bytes,
     IN gceCACHEOPERATION Operation
     )
index 7d4c378..5759eff 100644 (file)
@@ -709,8 +709,8 @@ static gceSTATUS
 _UserMemoryCache(
     IN gckALLOCATOR Allocator,
     IN PLINUX_MDL Mdl,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
-    IN gctUINT32 Physical,
     IN gctUINT32 Bytes,
     IN gceCACHEOPERATION Operation
     )
@@ -737,8 +737,10 @@ _UserMemoryCache(
         dma_sync_sg_for_device(galcore_device, um->sgt.sgl, um->sgt.nents, dir);
         break;
     case gcvCACHE_FLUSH:
-        dir = DMA_BIDIRECTIONAL;
+        dir = DMA_TO_DEVICE;
         dma_sync_sg_for_device(galcore_device, um->sgt.sgl, um->sgt.nents, dir);
+        dir = DMA_FROM_DEVICE;
+        dma_sync_sg_for_cpu(galcore_device, um->sgt.sgl, um->sgt.nents, dir);
         break;
     case gcvCACHE_INVALIDATE:
         dir = DMA_FROM_DEVICE;
index dc89752..dfb4325 100644 (file)
 #include <asm/atomic.h>
 #include <linux/dma-mapping.h>
 #include <linux/slab.h>
-#include <linux/dma-direct.h>
 #include <linux/platform_device.h>
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)
+#include <linux/dma-direct.h>
+#endif
 
 #define _GC_OBJ_ZONE    gcvZONE_OS
 
@@ -473,8 +475,8 @@ static gceSTATUS
 _CMACache(
     IN gckALLOCATOR Allocator,
     IN PLINUX_MDL Mdl,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
-    IN gctUINT32 Physical,
     IN gctUINT32 Bytes,
     IN gceCACHEOPERATION Operation
     )
index 81801c7..4d103f1 100644 (file)
@@ -285,12 +285,12 @@ typedef struct _gcsALLOCATOR_OPERATIONS
     **      PLINUX_MDL Mdl
     **          Pointer to a Mdl object.
     **
+    **      gctSIZE_T Offset
+    **          Offset to this memory block
+    **
     **      gctPOINTER Logical
     **          Logical address, could be user address or kernel address
     **
-    **      gctUINT32_PTR Physical
-    **          Physical address.
-    **
     **      gctUINT32 Bytes
     **          Size of memory region.
     **
@@ -305,8 +305,8 @@ typedef struct _gcsALLOCATOR_OPERATIONS
     gceSTATUS (*Cache)(
         IN gckALLOCATOR Allocator,
         IN PLINUX_MDL Mdl,
+        IN gctSIZE_T Offset,
         IN gctPOINTER Logical,
-        IN gctUINT32 Physical,
         IN gctUINT32 Bytes,
         IN gceCACHEOPERATION Operation
         );
index a3428a1..ee80046 100644 (file)
 #include <linux/time.h>
 #include <stdarg.h>
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
+#include <linux/nmi.h>
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
index 8f8657f..773db23 100644 (file)
@@ -88,6 +88,9 @@ int gc_info_show(struct seq_file* m, void* data)
     gctUINT32 productID = 0;
     gctUINT32 ecoID = 0;
 
+    if (!device)
+        return -ENXIO;
+
     for (i = 0; i < gcdMAX_GPU_COUNT; i++)
     {
         if (device->irqLines[i] != -1)
@@ -130,6 +133,9 @@ int gc_clients_show(struct seq_file* m, void* data)
     gctINT i, pid;
     char name[24];
 
+    if (!kernel)
+        return -ENXIO;
+
     seq_printf(m, "%-8s%s\n", "PID", "NAME");
     seq_printf(m, "------------------------\n");
 
@@ -197,6 +203,9 @@ int gc_meminfo_show(struct seq_file* m, void* data)
     gcsDATABASE_COUNTERS virtualCounter = {0, 0, 0};
     gcsDATABASE_COUNTERS nonPagedCounter = {0, 0, 0};
 
+    if (!kernel)
+        return -ENXIO;
+
     status = gckKERNEL_GetVideoMemoryPool(kernel, gcvPOOL_SYSTEM, &memory);
 
     if (gcmIS_SUCCESS(status))
@@ -488,6 +497,10 @@ gc_db_show(struct seq_file *m, void *data)
     gcsINFO_NODE *node = m->private;
     gckGALDEVICE device = node->device;
     gckKERNEL kernel = _GetValidKernel(device);
+
+    if (!kernel)
+        return -ENXIO;
+
     _ShowProcesses(m, kernel);
     return 0 ;
 }
@@ -497,7 +510,15 @@ gc_version_show(struct seq_file *m, void *data)
 {
     gcsINFO_NODE *node = m->private;
     gckGALDEVICE device = node->device;
-    gcsPLATFORM * platform = device->platform;
+    gcsPLATFORM * platform = gcvNULL;
+
+    if (!device)
+        return -ENXIO;
+
+    platform = device->platform;
+
+    if (!platform)
+        return -ENXIO;
 
     seq_printf(m, "%s built at %s\n",  gcvVERSION_STRING, HOST);
 
@@ -541,6 +562,9 @@ gc_idle_show(struct seq_file *m, void *data)
     gctUINT64 idle;
     gctUINT64 suspend;
 
+    if (!kernel)
+        return -ENXIO;
+
     gckHARDWARE_QueryStateTimer(kernel->hardware, &start, &end, &on, &off, &idle, &suspend);
 
     /* Idle time since last call */
@@ -588,6 +612,10 @@ gc_dump_trigger_show(struct seq_file *m, void *data)
     {
         kernel = device->kernels[dumpCore];
     }
+
+    if (!kernel)
+        return -ENXIO;
+
 #endif
 
     seq_printf(m, gcdDEBUG_FS_WARN);
@@ -618,6 +646,9 @@ static int gc_vidmem_show(struct seq_file *m, void *unused)
 
     gckKERNEL kernel = _GetValidKernel(device);
 
+    if (!kernel)
+        return -ENXIO;
+
     if (dumpProcess == 0)
     {
         /* Acquire the database mutex. */
@@ -697,6 +728,7 @@ static int gc_clk_show(struct seq_file* m, void* data)
     gcsINFO_NODE *node = m->private;
     gckGALDEVICE device = node->device;
     gctUINT i;
+    gceSTATUS status;
 
     for (i = gcvCORE_MAJOR; i < gcvCORE_COUNT; i++)
     {
@@ -710,7 +742,13 @@ static int gc_clk_show(struct seq_file* m, void* data)
                 continue;
             }
 #endif
-            gckHARDWARE_QueryFrequency(hardware);
+
+            status = gckHARDWARE_QueryFrequency(hardware);
+            if (gcmIS_ERROR(status))
+            {
+                seq_printf(m, "query gpu%d clock fail.\n", i);
+                continue;
+            }
 
             if (hardware->mcClk)
             {
@@ -1205,23 +1243,6 @@ gckGALDEVICE_Construct(
         device->irqLines[i] = -1;
     }
 
-    gcmkONERROR(_DebugfsInit(device));
-
-    if (gckDEBUGFS_CreateNode(
-            device, LogFileSize, device->debugfsDir.root ,DEBUG_FILE, &(device->dbgNode)))
-    {
-        gcmkTRACE_ZONE(
-            gcvLEVEL_ERROR, gcvZONE_DRIVER,
-            "%s(%d): Failed to create  the debug file system  %s/%s \n",
-            __FUNCTION__, __LINE__,
-            PARENT_FILE, DEBUG_FILE
-        );
-    }
-    else if (LogFileSize)
-    {
-        gckDEBUGFS_SetCurrentNode(device->dbgNode);
-    }
-
     _SetupRegisterPhysical(device, Args);
 
     if (IrqLine != -1)
@@ -1579,6 +1600,23 @@ gckGALDEVICE_Construct(
     /* Return pointer to the device. */
     *Device = galDevice = device;
 
+    gcmkONERROR(_DebugfsInit(device));
+
+    if (gckDEBUGFS_CreateNode(
+            device, LogFileSize, device->debugfsDir.root ,DEBUG_FILE, &(device->dbgNode)))
+    {
+        gcmkTRACE_ZONE(
+            gcvLEVEL_ERROR, gcvZONE_DRIVER,
+            "%s(%d): Failed to create  the debug file system  %s/%s \n",
+            __FUNCTION__, __LINE__,
+            PARENT_FILE, DEBUG_FILE
+        );
+    }
+    else if (LogFileSize)
+    {
+        gckDEBUGFS_SetCurrentNode(device->dbgNode);
+    }
+
     gcmkFOOTER_ARG("*Device=0x%x", * Device);
     return gcvSTATUS_OK;
 
index 6159398..87f26e7 100644 (file)
@@ -903,7 +903,11 @@ static int gpu_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 #endif /* USE_LINUX_PCIE */
 {
     int ret = -ENODEV;
-    static u64 dma_mask = ~0ULL;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+    static u64 dma_mask = DMA_BIT_MASK(40);
+#else
+    static u64 dma_mask = DMA_40BIT_MASK;
+#endif
 
     gcsMODULE_PARAMETERS moduleParam = {
         .irqLine            = irqLine,
@@ -940,18 +944,16 @@ static int gpu_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
     memcpy(moduleParam.registerBases, registerBases, gcmSIZEOF(gctUINT) * gcvCORE_COUNT);
     memcpy(moduleParam.registerSizes, registerSizes, gcmSIZEOF(gctUINT) * gcvCORE_COUNT);
     memcpy(moduleParam.chipIDs, chipIDs, gcmSIZEOF(gctUINT) * gcvCORE_COUNT);
-    moduleParam.compression = (compression == -1) ? gcvCOMPRESSION_OPTION_DEFAULT : (gceCOMPRESSION_OPTION)compression;
+    moduleParam.compression = compression;
     platform->device = pdev;
     galcore_device = &pdev->dev;
 
-    galcore_device->dma_mask = &dma_mask;
-
 #if USE_LINUX_PCIE
     if (pci_enable_device(pdev)) {
         printk(KERN_ERR "galcore: pci_enable_device() failed.\n");
     }
 
-    if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
+    if (pci_set_dma_mask(pdev, dma_mask)) {
         printk(KERN_ERR "galcore: Failed to set DMA mask.\n");
     }
 
@@ -965,7 +967,9 @@ static int gpu_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
     if (pci_enable_msi(pdev)) {
         printk(KERN_ERR "galcore: Failed to enable MSI.\n");
     }
-#endif
+#  endif
+#else
+    galcore_device->dma_mask = &dma_mask;
 #endif
 
     if (platform->ops->getPower)
index bfb76ac..1fd3401 100644 (file)
@@ -557,12 +557,11 @@ static int viv_ioctl_gem_attach_aux(struct drm_device *drm, void *data,
     if (args->ts_handle)
     {
         struct viv_gem_object *viv_ts_obj;
-        size_t num = 0;
         gckKERNEL kernel = gal_dev->device->map[gal_dev->device->defaultHwType].kernels[0];
         gcsHAL_INTERFACE iface;
         gctBOOL is2BitPerTile = gckHARDWARE_IsFeatureAvailable(kernel->hardware , gcvFEATURE_TILE_STATUS_2BITS);
         gctBOOL isCompressionDEC400 = gckHARDWARE_IsFeatureAvailable(kernel->hardware , gcvFEATURE_COMPRESSION_DEC400);
-        char __user* entry = gcvNULL;
+        gctPOINTER entry = gcvNULL;
         gctUINT32 tileStatusFiller = (isCompressionDEC400 || ((kernel->hardware->identity.chipModel == gcv500) && (kernel->hardware->identity.chipRevision > 2)))
                                   ? 0xFFFFFFFF
                                   : is2BitPerTile ? 0x55555555 : 0x11111111;
@@ -587,10 +586,9 @@ static int viv_ioctl_gem_attach_aux(struct drm_device *drm, void *data,
         gcmkONERROR(gckDEVICE_Dispatch(gal_dev->device, &iface));
 
         /* Fill tile status node with tileStatusFiller. */
-        entry = (char __user*)(uintptr_t)iface.u.LockVideoMemory.memory;
-        for (num=0; num<gem_ts_obj->size; num++) {
-            put_user(tileStatusFiller, entry+num);
-        }
+        gcmkONERROR(gckVIDMEM_NODE_LockCPU(kernel, viv_ts_obj->node_handle, &entry));
+        memset(entry , tileStatusFiller , (__u64)gem_ts_obj->size);
+        gcmkONERROR(gckVIDMEM_NODE_UnlockCPU(kernel, viv_ts_obj->node_handle, entry));
 
         /* UnLock tile status node. */
         memset(&iface, 0, sizeof(iface));
@@ -750,7 +748,7 @@ OnError:
 void viv_drm_postclose(struct drm_device *drm, struct drm_file *file)
 {
     gctINT i;
-    gctUINT32 pid = gcmPTR2INT(file->driver_priv);
+    gctUINT32 pid = gcmPTR2SIZE(file->driver_priv);
     gckGALDEVICE gal_dev = (gckGALDEVICE)drm->dev_private;
 
     for (i = 0; i < gcdMAX_GPU_COUNT; ++i)
index 5d82642..c536e44 100644 (file)
 /* Protection bit when mapping memroy to user sapce */
 #define gcmkPAGED_MEMROY_PROT(x)    pgprot_writecombine(x)
 
-#if gcdNONPAGED_MEMORY_BUFFERABLE
-#define gcmkIOREMAP                 ioremap_wc
-#define gcmkNONPAGED_MEMROY_PROT(x) pgprot_writecombine(x)
-#elif !gcdNONPAGED_MEMORY_CACHEABLE
-#define gcmkIOREMAP                 ioremap_nocache
-#define gcmkNONPAGED_MEMROY_PROT(x) pgprot_noncached(x)
-#endif
-
 #define gcdSUPPRESS_OOM_MESSAGE 1
 
 #if gcdSUPPRESS_OOM_MESSAGE
@@ -225,6 +217,9 @@ struct _gckOS
 
     /* Signal management. */
 
+    /* Lock. */
+    spinlock_t                  signalLock;
+
     /* signal id database. */
     gcsINTEGER_DB               signalDB;
 
@@ -271,7 +266,7 @@ typedef struct _gcsSIGNAL
     gctBOOL manualReset;
 
     /* The reference counter. */
-    volatile int ref;
+    atomic_t ref;
 
     /* The owner of the signal. */
     gctHANDLE process;
@@ -279,8 +274,8 @@ typedef struct _gcsSIGNAL
     /* ID. */
     gctUINT32 id;
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#if gcdLINUX_SYNC_FILE
+#ifndef CONFIG_SYNC_FILE
     /* Parent timeline. */
     struct sync_timeline * timeline;
 #  else
index cb52a3b..0d06fc1 100644 (file)
@@ -73,7 +73,7 @@
 #include <linux/anon_inodes.h>
 #endif
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
+#if gcdLINUX_SYNC_FILE
 #  include <linux/file.h>
 #  include "gc_hal_kernel_sync.h"
 #endif
@@ -276,12 +276,11 @@ _AllocateIntegerId(
 {
     int result;
     gctINT next;
-    unsigned long flags;
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
     idr_preload(GFP_KERNEL | gcdNOWARN);
 
-    spin_lock_irqsave(&Database->lock, flags);
+    spin_lock(&Database->lock);
 
     next = (Database->curr + 1 <= 0) ? 1 : Database->curr + 1;
 
@@ -295,7 +294,7 @@ _AllocateIntegerId(
         Database->curr = *Id = result;
     }
 
-    spin_unlock_irqrestore(&Database->lock, flags);
+    spin_unlock(&Database->lock);
 
     idr_preload_end();
 
@@ -310,7 +309,7 @@ again:
         return gcvSTATUS_OUT_OF_MEMORY;
     }
 
-    spin_lock_irqsave(&Database->lock, flags);
+    spin_lock(&Database->lock);
 
     next = (Database->curr + 1 <= 0) ? 1 : Database->curr + 1;
 
@@ -322,7 +321,7 @@ again:
         Database->curr = *Id;
     }
 
-    spin_unlock_irqstore(&Database->lock, flags);
+    spin_unlock(&Database->lock);
 
     if (result == -EAGAIN)
     {
@@ -347,7 +346,12 @@ _QueryIntegerId(
 {
     gctPOINTER pointer;
 
+    spin_lock(&Database->lock);
+
     pointer = idr_find(&Database->idr, Id);
+
+    spin_unlock(&Database->lock);
+
     if (pointer)
     {
         *KernelPointer = pointer;
@@ -370,8 +374,12 @@ _DestroyIntegerId(
     IN gctUINT32 Id
     )
 {
+    spin_lock(&Database->lock);
+
     idr_remove(&Database->idr, Id);
 
+    spin_unlock(&Database->lock);
+
     return gcvSTATUS_OK;
 }
 
@@ -541,6 +549,9 @@ gckOS_Construct(
      * Initialize the signal manager.
      */
 
+    /* Initialize spinlock. */
+    spin_lock_init(&os->signalLock);
+
     /* Initialize signal id database lock. */
     spin_lock_init(&os->signalDB.lock);
 
@@ -674,6 +685,62 @@ gckOS_Destroy(
     return gcvSTATUS_OK;
 }
 
+gceSTATUS
+gckOS_CreateKernelMapping(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctSIZE_T Offset,
+    IN gctSIZE_T Bytes,
+    OUT gctPOINTER * Logical
+    )
+{
+    gceSTATUS status = gcvSTATUS_OK;
+    PLINUX_MDL mdl = (PLINUX_MDL)Physical;
+    gckALLOCATOR allocator = mdl->allocator;
+
+    gcmkHEADER_ARG("Os=%p Physical=%p Offset=0x%zx Bytes=0x%zx",
+                   Os, Physical, Offset, Bytes);
+
+    if (mdl->addr)
+    {
+        /* Already mapped whole memory. */
+        *Logical = (gctUINT8_PTR)mdl->addr + Offset;
+    }
+    else
+    {
+        gcmkONERROR(allocator->ops->MapKernel(allocator, mdl, Logical));
+    }
+
+OnError:
+    gcmkFOOTER_ARG("*Logical=%p", gcmOPT_POINTER(Logical));
+    return status;
+}
+
+gceSTATUS
+gckOS_DestroyKernelMapping(
+    IN gckOS Os,
+    IN gctPHYS_ADDR Physical,
+    IN gctPOINTER Logical
+    )
+{
+    PLINUX_MDL mdl = (PLINUX_MDL)Physical;
+    gckALLOCATOR allocator = mdl->allocator;
+
+    gcmkHEADER_ARG("Os=%p Physical=%p Logical=%p", Os, Physical, Logical);
+
+    if (mdl->addr)
+    {
+        /* Nothing to do. */
+    }
+    else
+    {
+        allocator->ops->UnmapKernel(allocator, mdl, Logical);
+    }
+
+    gcmkFOOTER_NO();
+    return gcvSTATUS_OK;
+}
+
 gceSTATUS
 gckOS_CreateKernelVirtualMapping(
     IN gckOS Os,
@@ -1323,6 +1390,8 @@ gckOS_AllocateNonPagedMemory(
     /* Check status. */
     gcmkONERROR(status);
 
+    mdl->cacheable = Flag & gcvALLOC_FLAG_CACHEABLE;
+
     mdl->bytes    = bytes;
     mdl->numPages = numPages;
 
@@ -1330,6 +1399,12 @@ gckOS_AllocateNonPagedMemory(
 
     gcmkONERROR(allocator->ops->MapKernel(allocator, mdl, &addr));
 
+    if (!strcmp(allocator->name, "gfp"))
+    {
+        /* Trigger a page fault. */
+        memset(addr, 0, numPages * PAGE_SIZE);
+    }
+
     mdl->addr = addr;
 
     if (InUserSpace)
@@ -2126,6 +2201,7 @@ gckOS_MapPhysical(
         {
             if ((physical >= mdl->dmaHandle)
             &&  (physical <  mdl->dmaHandle + mdl->bytes)
+            &&  (mdl->addr != 0)
             )
             {
                 *Logical = mdl->addr + (physical - mdl->dmaHandle);
@@ -2148,6 +2224,7 @@ gckOS_MapPhysical(
             struct page * page;
             gctUINT numPages;
             gctINT i;
+            pgprot_t pgprot;
 
             numPages = GetPageCount(PAGE_ALIGN(offset + Bytes), 0);
 
@@ -2166,7 +2243,13 @@ gckOS_MapPhysical(
                 pages[i] = nth_page(page, i);
             }
 
-            logical = vmap(pages, numPages, 0, gcmkNONPAGED_MEMROY_PROT(PAGE_KERNEL));
+#if gcdENABLE_BUFFERABLE_VIDEO_MEMORY
+            pgprot = pgprot_writecombine(PAGE_KERNEL);
+#else
+            pgprot = pgprot_noncached(PAGE_KERNEL);
+#endif
+
+            logical = vmap(pages, numPages, 0, pgprot);
 
             kfree(pages);
 
@@ -3102,6 +3185,7 @@ gckOS_AllocatePagedMemoryEx(
     mdl->bytes      = bytes;
     mdl->numPages   = numPages;
     mdl->contiguous = Flag & gcvALLOC_FLAG_CONTIGUOUS;
+    mdl->cacheable  = Flag & gcvALLOC_FLAG_CACHEABLE;
 
     if (Gid != gcvNULL)
     {
@@ -3336,17 +3420,14 @@ gckOS_MapPagesEx(
     PLINUX_MDL  mdl;
     gctUINT32*  table;
     gctUINT32   offset = 0;
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    gckMMU      mmu;
-    PLINUX_MDL  mmuMdl;
-    gctUINT32   bytes;
-    gctPHYS_ADDR pageTablePhysical;
-#endif
 
 #if gcdPROCESS_ADDRESS_SPACE
     gckKERNEL kernel = Os->device->kernels[Core];
     gckMMU      mmu;
 #endif
+
+    gctUINT32 bytes = PageCount * 4;
+
     gckALLOCATOR allocator;
 
     gctUINT32 policyID = 0;
@@ -3383,11 +3464,6 @@ gckOS_MapPagesEx(
 #endif
 
     table = (gctUINT32 *)PageTable;
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    mmu = Os->device->kernels[Core]->mmu;
-    bytes = PageCount * sizeof(*table);
-    mmuMdl = (PLINUX_MDL)mmu->pageTablePhysical;
-#endif
 
     if (platform && platform->ops->getPolicyID)
     {
@@ -3483,21 +3559,56 @@ gckOS_MapPagesEx(
         offset += PAGE_SIZE;
     }
 
-#if gcdNONPAGED_MEMORY_CACHEABLE
-    /* Get physical address of pageTable */
-    pageTablePhysical = (gctPHYS_ADDR)(mmuMdl->dmaHandle +
-                        ((gctUINT32 *)PageTable - mmu->pageTableLogical));
+#if gcdENABLE_VG
+    if (Core == gcvCORE_VG)
+    {
+        gckVGMMU mmu = Os->device->kernels[gcvCORE_VG]->vg->mmu;
+        gctPHYS_ADDR mmuMdl = mmu->pageTablePhysical;
 
-    /* Flush the mmu page table cache. */
-    gcmkONERROR(gckOS_CacheClean(
-        Os,
-        _GetProcessID(),
-        gcvNULL,
-        pageTablePhysical,
-        PageTable,
-        bytes
-        ));
-#endif
+        offset = (gctUINT8_PTR)PageTable - (gctUINT8_PTR)mmu->pageTableLogical;
+
+        gcmkVERIFY_OK(gckOS_CacheClean(
+            Os,
+            _GetProcessID(),
+            mmuMdl,
+            offset,
+            PageTable,
+            bytes
+            ));
+    }
+    else
+#  endif
+    {
+        gckMMU mmu = Os->device->kernels[Core]->mmu;
+        gcsADDRESS_AREA * area = &mmu->area[0];
+
+        offset = (gctUINT8_PTR)PageTable - (gctUINT8_PTR)area->pageTableLogical;
+
+        /* must be in dynamic area. */
+        gcmkASSERT(offset < area->pageTableSize);
+
+        gcmkVERIFY_OK(gckOS_CacheClean(
+            Os,
+            0,
+            area->pageTablePhysical,
+            offset,
+            PageTable,
+            bytes
+            ));
+
+        if (mmu->mtlbPhysical)
+        {
+            /* Flush MTLB table. */
+            gcmkVERIFY_OK(gckOS_CacheClean(
+                Os,
+                0,
+                mmu->mtlbPhysical,
+                0,
+                mmu->mtlbLogical,
+                mmu->mtlbSize
+                ));
+        }
+    }
 
 OnError:
 
@@ -4382,14 +4493,14 @@ _CacheOperation(
     IN gckOS Os,
     IN gctUINT32 ProcessID,
     IN gctPHYS_ADDR Handle,
-    IN gctPHYS_ADDR_T Physical,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
     IN gctSIZE_T Bytes,
     IN gceCACHEOPERATION Operation
     )
 {
     PLINUX_MDL mdl = (PLINUX_MDL)Handle;
-    PLINUX_MDL_MAP mdlMap;
+    PLINUX_MDL_MAP mdlMap = gcvNULL;
     gckALLOCATOR allocator;
 
     if (!mdl || !mdl->allocator)
@@ -4402,28 +4513,30 @@ _CacheOperation(
 
     if (allocator->ops->Cache)
     {
-        mutex_lock(&mdl->mapsMutex);
+        if (ProcessID)
+        {
+            mutex_lock(&mdl->mapsMutex);
 
-        mdlMap = FindMdlMap(mdl, ProcessID);
+            mdlMap = FindMdlMap(mdl, ProcessID);
 
-        mutex_unlock(&mdl->mapsMutex);
+            mutex_unlock(&mdl->mapsMutex);
+        }
 
-        if (mdlMap == gcvNULL)
+        if (ProcessID && mdlMap == gcvNULL)
         {
             return gcvSTATUS_INVALID_ARGUMENT;
         }
 
-        if (mdlMap->cacheable)
+        if ((!ProcessID && mdl->cacheable) ||
+            (mdlMap && mdlMap->cacheable))
         {
             allocator->ops->Cache(allocator,
-                mdl, Logical, Physical, Bytes, Operation);
+                mdl, Offset, Logical, Bytes, Operation);
 
             return gcvSTATUS_OK;
         }
     }
 
-    _MemoryBarrier();
-
     return gcvSTATUS_OK;
 }
 
@@ -4445,8 +4558,8 @@ _CacheOperation(
 **      gctPHYS_ADDR Handle
 **          Physical address handle.  If gcvNULL it is video memory.
 **
-**      gctPOINTER Physical
-**          Physical address to flush.
+**      gctSIZE_T Offset
+**          Offset to this memory block.
 **
 **      gctPOINTER Logical
 **          Logical address to flush.
@@ -4480,7 +4593,7 @@ gckOS_CacheClean(
     IN gckOS Os,
     IN gctUINT32 ProcessID,
     IN gctPHYS_ADDR Handle,
-    IN gctPHYS_ADDR_T Physical,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
     IN gctSIZE_T Bytes
     )
@@ -4496,7 +4609,7 @@ gckOS_CacheClean(
     gcmkVERIFY_ARGUMENT(Bytes > 0);
 
     gcmkONERROR(_CacheOperation(Os, ProcessID,
-                                Handle, Physical, Logical, Bytes,
+                                Handle, Offset, Logical, Bytes,
                                 gcvCACHE_CLEAN));
 
 OnError:
@@ -4523,6 +4636,9 @@ OnError:
 **      gctPHYS_ADDR Handle
 **          Physical address handle.  If gcvNULL it is video memory.
 **
+**      gctSIZE_T Offset
+**          Offset to this memory block.
+**
 **      gctPOINTER Logical
 **          Logical address to flush.
 **
@@ -4534,15 +4650,15 @@ gckOS_CacheInvalidate(
     IN gckOS Os,
     IN gctUINT32 ProcessID,
     IN gctPHYS_ADDR Handle,
-    IN gctPHYS_ADDR_T Physical,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
     IN gctSIZE_T Bytes
     )
 {
     gceSTATUS status;
 
-    gcmkHEADER_ARG("Os=0x%X ProcessID=%d Handle=0x%X Logical=%p Bytes=%lu",
-                   Os, ProcessID, Handle, Logical, Bytes);
+    gcmkHEADER_ARG("Os=%p ProcessID=%d Handle=%p Offset=0x%llx Logical=%p Bytes=0x%zx",
+                   Os, ProcessID, Handle, Offset, Logical, Bytes);
 
     /* Verify the arguments. */
     gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
@@ -4550,7 +4666,7 @@ gckOS_CacheInvalidate(
     gcmkVERIFY_ARGUMENT(Bytes > 0);
 
     gcmkONERROR(_CacheOperation(Os, ProcessID,
-                                Handle, Physical, Logical, Bytes,
+                                Handle, Offset, Logical, Bytes,
                                 gcvCACHE_INVALIDATE));
 
 OnError:
@@ -4576,6 +4692,9 @@ OnError:
 **      gctPHYS_ADDR Handle
 **          Physical address handle.  If gcvNULL it is video memory.
 **
+**      gctSIZE_T Offset
+**          Offset to this memory block.
+**
 **      gctPOINTER Logical
 **          Logical address to flush.
 **
@@ -4587,15 +4706,15 @@ gckOS_CacheFlush(
     IN gckOS Os,
     IN gctUINT32 ProcessID,
     IN gctPHYS_ADDR Handle,
-    IN gctPHYS_ADDR_T Physical,
+    IN gctSIZE_T Offset,
     IN gctPOINTER Logical,
     IN gctSIZE_T Bytes
     )
 {
     gceSTATUS status;
 
-    gcmkHEADER_ARG("Os=0x%X ProcessID=%d Handle=0x%X Logical=%p Bytes=%lu",
-                   Os, ProcessID, Handle, Logical, Bytes);
+    gcmkHEADER_ARG("Os=%p ProcessID=%d Handle=%p Offset=0x%llx Logical=%p Bytes=0x%zx",
+                   Os, ProcessID, Handle, Offset, Logical, Bytes);
 
     /* Verify the arguments. */
     gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
@@ -4603,7 +4722,7 @@ gckOS_CacheFlush(
     gcmkVERIFY_ARGUMENT(Bytes > 0);
 
     gcmkONERROR(_CacheOperation(Os, ProcessID,
-                                Handle, Physical, Logical, Bytes,
+                                Handle, Offset, Logical, Bytes,
                                 gcvCACHE_FLUSH));
 
 OnError:
@@ -5520,10 +5639,11 @@ gckOS_CreateSignal(
     init_waitqueue_head(&signal->wait);
     spin_lock_init(&signal->lock);
     signal->manualReset = ManualReset;
-    signal->ref = 1;
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+    atomic_set(&signal->ref, 1);
+
+#if gcdLINUX_SYNC_FILE
+#ifndef CONFIG_SYNC_FILE
     signal->timeline = gcvNULL;
 #  else
     signal->fence = gcvNULL;
@@ -5573,7 +5693,8 @@ gckOS_DestroySignal(
 {
     gceSTATUS status;
     gcsSIGNAL_PTR signal;
-    unsigned long flags;
+    gctBOOL acquired = gcvFALSE;
+    unsigned long flags = 0;
 
     gcmkHEADER_ARG("Os=0x%X Signal=0x%X", Os, Signal);
 
@@ -5581,31 +5702,49 @@ gckOS_DestroySignal(
     gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
     gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
-    status = _QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal);
-    if (gcmIS_ERROR(status))
-    {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
-        gcmkONERROR(status);
+    if(in_irq()){
+        spin_lock(&Os->signalLock);
+    }else{
+        spin_lock_irqsave(&Os->signalLock, flags);
     }
+    acquired = gcvTRUE;
+
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
 
     gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
-    signal->ref--;
 
-    if (signal->ref == 0)
+    if (atomic_dec_and_test(&signal->ref))
     {
         gcmkVERIFY_OK(_DestroyIntegerId(&Os->signalDB, signal->id));
 
         /* Free the sgianl. */
         kfree(signal);
     }
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
+
+    if(in_irq()){
+        spin_unlock(&Os->signalLock);
+    }else{
+        spin_unlock_irqrestore(&Os->signalLock, flags);
+    }
+
+    acquired = gcvFALSE;
 
     /* Success. */
     gcmkFOOTER_NO();
     return gcvSTATUS_OK;
 
 OnError:
+    if (acquired)
+    {
+        /* Release the mutex. */
+        if(in_irq()){
+            spin_unlock(&Os->signalLock);
+        }else{
+            spin_unlock_irqrestore(&Os->signalLock, flags);
+        }
+
+    }
+
     gcmkFOOTER();
     return status;
 }
@@ -5641,14 +5780,14 @@ gckOS_Signal(
 {
     gceSTATUS status;
     gcsSIGNAL_PTR signal;
-#if gcdANDROID_NATIVE_FENCE_SYNC
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#if gcdLINUX_SYNC_FILE
+#ifndef CONFIG_SYNC_FILE
     struct sync_timeline * timeline = gcvNULL;
 #  else
     struct dma_fence * fence = gcvNULL;
 #  endif
 #endif
-    unsigned long flags;
+    unsigned long flags = 0;
 
     gcmkHEADER_ARG("Os=0x%X Signal=0x%X State=%d", Os, Signal, State);
 
@@ -5656,13 +5795,15 @@ gckOS_Signal(
     gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
     gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
+    spin_lock_irqsave(&Os->signalLock, flags);
+
     status = _QueryIntegerId(&Os->signalDB,
                              (gctUINT32)(gctUINTPTR_T)Signal,
                              (gctPOINTER)&signal);
+
     if (gcmIS_ERROR(status))
     {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
+        spin_unlock_irqrestore(&Os->signalLock, flags);
         gcmkONERROR(status);
     }
 
@@ -5671,10 +5812,13 @@ gckOS_Signal(
      * concurrent issue: signaling the signal while another thread is destroying
      * it.
      */
+    atomic_inc(&signal->ref);
+
+    spin_unlock_irqrestore(&Os->signalLock, flags);
+
+    gcmkONERROR(status);
 
     gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
-    signal->ref++;
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
 
     spin_lock(&signal->lock);
 
@@ -5684,8 +5828,8 @@ gckOS_Signal(
 
         wake_up(&signal->wait);
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#if gcdLINUX_SYNC_FILE
+#ifndef CONFIG_SYNC_FILE
         timeline = signal->timeline;
 #  else
         fence = signal->fence;
@@ -5700,8 +5844,8 @@ gckOS_Signal(
 
     spin_unlock(&signal->lock);
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#if gcdLINUX_SYNC_FILE
+#ifndef CONFIG_SYNC_FILE
     /* Signal timeline. */
     if (timeline)
     {
@@ -5716,17 +5860,17 @@ gckOS_Signal(
 #  endif
 #endif
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
-    signal->ref --;
+    spin_lock_irqsave(&Os->signalLock, flags);
 
-    if (signal->ref == 0)
+    if (atomic_dec_and_test(&signal->ref))
     {
         gcmkVERIFY_OK(_DestroyIntegerId(&Os->signalDB, signal->id));
 
         /* Free the sgianl. */
         kfree(signal);
     }
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
+
+    spin_unlock_irqrestore(&Os->signalLock, flags);
 
     /* Success. */
     gcmkFOOTER_NO();
@@ -5810,7 +5954,6 @@ gckOS_WaitSignal(
     gceSTATUS status;
     gcsSIGNAL_PTR signal = gcvNULL;
     int done;
-    unsigned long flags;
 
     gcmkHEADER_ARG("Os=0x%X Signal=0x%X Wait=0x%08X", Os, Signal, Wait);
 
@@ -5818,11 +5961,7 @@ gckOS_WaitSignal(
     gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
     gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
-    status = _QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal);
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
-
-    gcmkONERROR(status);
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
 
     gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);
 
@@ -5909,13 +6048,10 @@ _QuerySignal(
      */
     gceSTATUS status;
     gcsSIGNAL_PTR signal = gcvNULL;
-    unsigned long flags;
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
     status = _QueryIntegerId(&Os->signalDB,
                              (gctUINT32)(gctUINTPTR_T)Signal,
                              (gctPOINTER)&signal);
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
 
     if (gcmIS_SUCCESS(status))
     {
@@ -5959,37 +6095,33 @@ gckOS_MapSignal(
 {
     gceSTATUS status;
     gcsSIGNAL_PTR signal = gcvNULL;
-    unsigned long flags;
+    unsigned long flags = 0;
     gcmkHEADER_ARG("Os=0x%X Signal=0x%X Process=0x%X", Os, Signal, Process);
 
     gcmkVERIFY_ARGUMENT(Signal != gcvNULL);
     gcmkVERIFY_ARGUMENT(MappedSignal != gcvNULL);
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
-    status = _QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal);
-    if (gcmIS_ERROR(status))
-    {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
-        gcmkONERROR(status);
-    }
+    spin_lock_irqsave(&Os->signalLock, flags);
 
-    signal->ref++;
+    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));
 
-    if (signal->ref <= 1)
+    if (atomic_inc_return(&signal->ref) <= 1)
     {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
         /* The previous value is 0, it has been deleted. */
         gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
     }
 
     *MappedSignal = (gctSIGNAL) Signal;
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
+
+    spin_unlock_irqrestore(&Os->signalLock, flags);
 
     /* Success. */
     gcmkFOOTER_ARG("*MappedSignal=0x%X", *MappedSignal);
     return gcvSTATUS_OK;
 
 OnError:
+    spin_unlock_irqrestore(&Os->signalLock, flags);
+
     gcmkFOOTER_NO();
     return status;
 }
@@ -6625,8 +6757,8 @@ gckOS_DetectProcessByName(
                               : gcvSTATUS_FALSE;
 }
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#if gcdLINUX_SYNC_FILE
+#ifndef CONFIG_SYNC_FILE
 gceSTATUS
 gckOS_CreateSyncTimeline(
     IN gckOS Os,
@@ -6683,21 +6815,14 @@ gckOS_CreateNativeFence(
     char name[32];
     gcsSIGNAL_PTR signal;
     gceSTATUS status;
-    unsigned long flags;
 
     gcmkHEADER_ARG("Os=0x%X Timeline=0x%X Signal=%d",
                    Os, Timeline, (gctUINT)(gctUINTPTR_T)Signal);
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
-    status =  _QueryIntegerId(&Os->signalDB,
+    gcmkONERROR(
+        _QueryIntegerId(&Os->signalDB,
                         (gctUINT32)(gctUINTPTR_T)Signal,
-                        (gctPOINTER)&signal);
-    if (gcmIS_ERROR(status))
-    {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
-        gcmkONERROR(status);
-    }
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
+                        (gctPOINTER)&signal));
 
     /* Cast timeline. */
     timeline = (struct viv_sync_timeline *) Timeline;
@@ -6907,7 +7032,7 @@ OnError:
     return status;
 }
 
-#  else /* v4.9.0 */
+#  else /* !CONFIG_SYNC_FILE */
 
 gceSTATUS
 gckOS_CreateSyncTimeline(
@@ -6962,29 +7087,14 @@ gckOS_CreateNativeFence(
     struct viv_sync_timeline *timeline;
     gcsSIGNAL_PTR signal = gcvNULL;
     gceSTATUS status = gcvSTATUS_OK;
-    unsigned long flags;
 
     /* Create fence. */
     timeline = (struct viv_sync_timeline *) Timeline;
 
-    spin_lock_irqsave(&Os->signalDB.lock, flags);
-    status =  _QueryIntegerId(&Os->signalDB,
+    gcmkONERROR(
+        _QueryIntegerId(&Os->signalDB,
                         (gctUINT32)(gctUINTPTR_T)Signal,
-                        (gctPOINTER)&signal);
-    if (gcmIS_ERROR(status))
-    {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
-        gcmkONERROR(status);
-    }
-
-    signal->ref++;
-    if (signal->ref <= 1)
-    {
-        spin_unlock_irqrestore(&Os->signalDB.lock, flags);
-        /* The previous value is 0, it has been deleted. */
-        gcmkONERROR(gcvSTATUS_INVALID_ARGUMENT);
-    }
-    spin_unlock_irqrestore(&Os->signalDB.lock, flags);
+                        (gctPOINTER)&signal));
 
     fence = viv_fence_create(timeline, signal);
 
@@ -7020,10 +7130,12 @@ OnError:
         fput(sync->file);
     }
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,68)
     if (fence)
     {
         dma_fence_put(fence);
     }
+#endif
 
     if (fd > 0)
     {
@@ -7034,6 +7146,24 @@ OnError:
     return status;
 }
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+/**
+ * sync_file_fdget() - get a sync_file from an fd
+ * @fd:     fd referencing a fence
+ *
+ * Ensures @fd references a valid sync_file, increments the refcount of the
+ * backing file. Returns the sync_file or NULL in case of error.
+ */
+static struct sync_file *sync_file_fdget(int fd)
+{
+    struct file *file = fget(fd);
+
+    if (!file)
+        return NULL;
+
+    return file->private_data;
+}
+
 gceSTATUS
 gckOS_WaitNativeFence(
     IN gckOS Os,
@@ -7045,8 +7175,77 @@ gckOS_WaitNativeFence(
     struct viv_sync_timeline *timeline;
     gceSTATUS status = gcvSTATUS_OK;
     unsigned int i;
+    unsigned long timeout;
     unsigned int numFences;
+    struct sync_file *sync_file;
+
+    timeline = (struct viv_sync_timeline *) Timeline;
+
+    sync_file = sync_file_fdget(FenceFD);
+
+    if (!sync_file)
+    {
+        gcmkONERROR(gcvSTATUS_GENERIC_IO);
+    }
+
+    numFences = sync_file->num_fences;
+
+    timeout = msecs_to_jiffies(Timeout);
+
+    for (i = 0; i < numFences; i++)
+    {
+        struct fence *f = sync_file->cbs[i].fence;
+        fence_get(f);
+
+        if (f->context != timeline->context &&
+            !fence_is_signaled(f))
+        {
+            signed long ret;
+            ret = fence_wait_timeout(f, 1, timeout);
+
+            if (ret == -ERESTARTSYS)
+            {
+                status = gcvSTATUS_INTERRUPTED;
+                fence_put(f);
+                break;
+            }
+            else if (ret <= 0)
+            {
+                status = gcvSTATUS_TIMEOUT;
+                fence_put(f);
+                break;
+            }
+            else
+            {
+                /* wait success. */
+                timeout -= ret;
+            }
+        }
+
+        fence_put(f);
+    }
+
+    return gcvSTATUS_OK;
+
+OnError:
+    return status;
+}
+
+#    else
+
+gceSTATUS
+gckOS_WaitNativeFence(
+    IN gckOS Os,
+    IN gctHANDLE Timeline,
+    IN gctINT FenceFD,
+    IN gctUINT32 Timeout
+    )
+{
+    struct viv_sync_timeline *timeline;
+    gceSTATUS status = gcvSTATUS_OK;
+    unsigned int i;
     unsigned long timeout;
+    unsigned int numFences;
     struct dma_fence *fence;
     struct dma_fence **fences;
 
@@ -7109,7 +7308,8 @@ OnError:
     return status;
 }
 
-#  endif /* v4.9.0 */
+#    endif
+#  endif
 #endif
 
 #if gcdSECURITY
@@ -7365,6 +7565,11 @@ gckOS_QueryOption(
         *Value = device->args.gpuProfiler;
         return gcvSTATUS_OK;
     }
+    else if (!strcmp(Option, "platformFlagBits"))
+    {
+        *Value = device->platform->flagBits;
+        return gcvSTATUS_OK;
+    }
 
     return gcvSTATUS_NOT_SUPPORTED;
 }
index 3cea45f..6f63109 100644 (file)
@@ -89,6 +89,8 @@ struct _LINUX_MDL
     gctBOOL                 contiguous;
     dma_addr_t              dmaHandle;
 
+    gctBOOL                 cacheable;
+
     struct mutex            mapsMutex;
     struct list_head        mapsHead;
 
index f83354d..b570195 100644 (file)
@@ -281,12 +281,6 @@ typedef struct soc_platform_ops
 }
 gcsPLATFORM_OPERATIONS;
 
-enum
-{
-    /* GPU can't issue more that 32bit physical address */
-    gcvPLATFORM_FLAG_LIMIT_4G_ADDRESS = 1 << 0,
-};
-
 struct soc_platform
 {
 #if USE_LINUX_PCIE
index 12d8d35..b366a2f 100644 (file)
@@ -56,7 +56,7 @@
 #include <gc_hal.h>
 #include <gc_hal_base.h>
 
-#if gcdANDROID_NATIVE_FENCE_SYNC
+#if gcdLINUX_SYNC_FILE
 
 #include <linux/kernel.h>
 #include <linux/file.h>
@@ -70,7 +70,7 @@
 #include "gc_hal_kernel_sync.h"
 #include "gc_hal_kernel_linux.h"
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#ifndef CONFIG_SYNC_FILE
 
 static struct sync_pt * viv_sync_pt_dup(struct sync_pt *sync_pt)
 {
@@ -224,7 +224,7 @@ struct sync_pt * viv_sync_pt_create(struct viv_sync_timeline *obj,
     return (struct sync_pt *)pt;
 }
 
-#else /* v4.9.0 */
+#else
 
 struct viv_sync_timeline * viv_sync_timeline_create(const char *name, gckOS Os)
 {
@@ -308,6 +308,7 @@ static struct dma_fence_ops viv_fence_ops =
 struct dma_fence * viv_fence_create(struct viv_sync_timeline *timeline,
                     gcsSIGNAL *signal)
 {
+    gceSTATUS status;
     struct viv_fence *fence;
     struct dma_fence *old_fence = NULL;
     unsigned seqno;
@@ -317,9 +318,17 @@ struct dma_fence * viv_fence_create(struct viv_sync_timeline *timeline,
     if (!fence)
         return NULL;
 
+    /* Reference signal in fence. */
+    status = gckOS_MapSignal(timeline->os, (gctSIGNAL)(uintptr_t)signal->id,
+                NULL, &fence->signal);
+
+    if (gcmIS_ERROR(status)) {
+        kfree(fence);
+        return NULL;
+    }
+
     spin_lock_init(&fence->lock);
 
-    fence->signal = signal;
     fence->parent = timeline;
 
     seqno = (unsigned)atomic64_inc_return(&timeline->seqno);
@@ -340,6 +349,10 @@ struct dma_fence * viv_fence_create(struct viv_sync_timeline *timeline,
 
     if (!signal->done) {
         signal->fence = (struct dma_fence*)fence;
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,68)
+        dma_fence_get((struct dma_fence*)fence);
+#endif
     }
 
     spin_unlock(&signal->lock);
@@ -353,11 +366,13 @@ struct dma_fence * viv_fence_create(struct viv_sync_timeline *timeline,
         fence->signal = NULL;
 
         dma_fence_signal_locked((struct dma_fence*)fence);
+        dma_fence_put((struct dma_fence*)fence);
+        fence = NULL;
     }
 
     return (struct dma_fence*)fence;
 }
 
-#endif /* v4.9.0 */
+#endif
 
 #endif
index 695ccff..d723e46 100644 (file)
@@ -58,7 +58,7 @@
 
 #include <linux/types.h>
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,9,0)
+#ifndef CONFIG_SYNC_FILE
 
 /* sync.h is in drivers/staging/android/ for now. */
 #include <sync.h>
@@ -98,7 +98,7 @@ struct viv_sync_timeline * viv_sync_timeline_create(const char *name, gckOS Os);
 struct sync_pt * viv_sync_pt_create(struct viv_sync_timeline *obj,
                         gctSIGNAL signal);
 
-#else /* v4.9.0 */
+#else
 
 #include <linux/sync_file.h>
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4,10,0)
@@ -146,6 +146,6 @@ void viv_sync_timeline_destroy(struct viv_sync_timeline *timeline);
 struct dma_fence * viv_fence_create(struct viv_sync_timeline *timeline,
                     gcsSIGNAL *signal);
 
-#endif /* v4.9.0 */
+#endif
 
 #endif /* __gc_hal_kernel_sync_h_ */
index 62624d6..a64004e 100644 (file)
@@ -308,7 +308,7 @@ static struct notifier_block thermal_hot_pm_notifier =
 
 static ssize_t gpu3DMinClock_show(struct device_driver *dev, char *buf)
 {
-    gctUINT currentf,minf,maxf;
+    gctUINT currentf = 0, minf = 0, maxf = 0;
     gckGALDEVICE galDevice;
 
     galDevice = platform_get_drvdata(pdevice);
@@ -345,8 +345,11 @@ static ssize_t gpu3DMinClock_store(struct device_driver *dev, const char *buf, s
 
     return count;
 }
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
 static DRIVER_ATTR_RW(gpu3DMinClock);
+#else
+static DRIVER_ATTR(gpu3DMinClock, S_IRUGO | S_IWUSR, gpu3DMinClock_show, gpu3DMinClock_store);
+#endif
 #endif
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
@@ -500,9 +503,11 @@ static ssize_t gpu_govern_store(struct device_driver *dev, const char *buf, size
 
     return count;
 }
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)
 static DRIVER_ATTR_RW(gpu_govern);
-
+#else
+static DRIVER_ATTR(gpu_govern, S_IRUGO | S_IWUSR, gpu_govern_show, gpu_govern_store);
+#endif
 
 int init_gpu_opp_table(struct device *dev)
 {
@@ -948,6 +953,18 @@ static int patch_param(struct platform_device *pdev,
 #endif
         patch_param_imx6(pdev, args);
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
+    if(args->compression == -1)
+    {
+        const u32 *property;
+        args->compression = gcvCOMPRESSION_OPTION_DEFAULT;
+        property = of_get_property(pdev->dev.of_node, "depth-compression", NULL);
+        if (property && *property == 0)
+        {
+            args->compression &= ~gcvCOMPRESSION_OPTION_DEPTH;
+        }
+    }
+#endif
     res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phys_baseaddr");
 
     if (res && !args->baseAddress && !args->physSize) {
@@ -1493,9 +1510,16 @@ _AdjustParam(
 {
     patch_param(Platform->device, Args);
 
-    if (of_find_compatible_node(NULL, NULL, "fsl,imx8mq-gpu") && ((Args->baseAddress + totalram_pages * PAGE_SIZE) > 0x100000000))
-        Platform->flagBits = gcvPLATFORM_FLAG_LIMIT_4G_ADDRESS;
+    if (of_find_compatible_node(NULL, NULL, "fsl,imx8mq-gpu") &&
+        ((Args->baseAddress + totalram_pages * PAGE_SIZE) > 0x100000000))
+    {
+        Platform->flagBits |= gcvPLATFORM_FLAG_LIMIT_4G_ADDRESS;
+    }
 
+    if (of_find_compatible_node(NULL, NULL, "fsl,imx8mm-gpu"))
+    {
+        Platform->flagBits |= gcvPLATFORM_FLAG_IMX_MM;
+    }
     return gcvSTATUS_OK;
 }
 
index ea83bd9..56fcc26 100644 (file)
@@ -7,6 +7,7 @@ EXTRA_CFLAGS += -DgcdANDROID
 endif
 
 EXTRA_CFLAGS += -DgcdANDROID_NATIVE_FENCE_SYNC=2
+
 ifeq ($(CONFIG_SYNC)$(CONFIG_SYNC_FILE),)
 $(warn CONFIG_SYNC or CONFIG_SYNC_FILE is not set in kernel config)
 $(warn Android native fence sync requires CONFIG_SYNC or CONFIG_SYNC_FILE)
index def77c3..b5369bd 100644 (file)
@@ -91,10 +91,15 @@ _IdentifyHardwareByDatabase(
     gcmkONERROR(gctaOS_ReadRegister(os, Hardware->ta->core, 0x00018, &chipIdentity));
 
     /* Special case for older graphic cores. */
-    if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
- 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ?
- ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
+    if (((((gctUINT32) (chipIdentity)) >> (0 ?
+ 31:24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ?
+ 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
     {
         Hardware->chipModel    = gcv500;
         Hardware->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
@@ -246,8 +251,14 @@ gctaHARDWARE_SetMMUStates(
         }
 
         config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
         break;
@@ -259,8 +270,14 @@ gctaHARDWARE_SetMMUStates(
         }
 
         config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
 
         break;
@@ -280,29 +297,58 @@ gctaHARDWARE_SetMMUStates(
         /* Setup command buffer to load index 0 of page table array. */
         *buffer++
             = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
- 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0x006B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)))
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0x006B) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)))
             | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
- 25:16) + 1))))))) << (0 ? 25:16)));
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ?
+ 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ?
+ 25:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ? 25:16)));
 
         *buffer++
             = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
+ 15:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))));
     }
 
@@ -347,9 +393,15 @@ gctaHARDWARE_End(
 
         /* Append END. */
         logical[0] =
-            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
+            ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ?
+ 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ?
+ 31:27) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
 
         /* Record the count of execution which is finised by this END. */
@@ -481,15 +533,25 @@ gctaHARDWARE_Execute(
 
     /* Build control register. */
     control = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
- 16:16) + 1))))))) << (0 ? 16:16)))
-        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ?
+ 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ?
+ 16:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)))
+        | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:0) - (0 ?
+ 15:0) + 1))))))) << (0 ?
  15:0))) | (((gctUINT32) ((gctUINT32) ((Bytes + 7) >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) - (0 ?
+ 15:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ? 15:0)));
 
     /* Write control register. */
     gcmkONERROR(
@@ -517,11 +579,16 @@ gctaHARDWARE_MmuEnable(
     gctaOS_WriteRegister(
         Hardware->ta->os, Hardware->ta->core,
         0x0018C,
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) ((gctUINT32) (1 ) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))));
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) ((gctUINT32) (1 ) & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0))));
 
     return gcvSTATUS_OK;
 }
@@ -565,10 +632,15 @@ gctaHARDWARE_SetMMU(
 
     entry->high = (gctUINT32)(mtlbPhysical >> 32)
                 | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:8) - (0 ? 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
- 8:8)))
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1))))))) << (0 ?
+ 8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 8:8) - (0 ?
+ 8:8) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
                 ;
 
     /* Set page table base. */
@@ -606,22 +678,49 @@ gctaHARDWARE_SetMMU(
     gctaOS_WriteRegister(
         Hardware->ta->os, Hardware->ta->core,
         0x003A0,
-        (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
+        (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
  23:16))) | (((gctUINT32) ((gctUINT32) ((gctUINT32)((secureSafeAddress >> 32) & 0xFFFFFFFF)) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
- 23:16) + 1))))))) << (0 ? 23:16))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
- 31:31) + 1))))))) << (0 ? 31:31))))
-      | (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 23:16) - (0 ?
+ 23:16) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ?
+ 23:16))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ?
+ 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ?
+ 31:31) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31))))
+      | (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
  7:0))) | (((gctUINT32) ((gctUINT32) ((gctUINT32)((nonSecureSafeAddress >> 32) & 0xFFFFFFFF)) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
- 7:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:15) - (0 ?
- 15:15) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ?
- 15:15))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 15:15) - (0 ? 15:15) + 1) == 32) ?
+ 7:0) - (0 ?
+ 7:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 7:0) - (0 ?
+ 7:0) + 1))))))) << (0 ?
+ 7:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1))))))) << (0 ?
+ 15:15))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 15:15) - (0 ?
+ 15:15) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ? 15:15))))
         );
 
@@ -651,9 +750,15 @@ gctaHARDWARE_SetMMU(
     gctaOS_WriteRegister(
         Hardware->os, Hardware->ta->core,
         0x00388,
-        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
- 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
+        ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1))))))) << (0 ?
+ 0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 0:0) - (0 ?
+ 0:0) + 1) == 32) ?
  ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
         );
 
@@ -670,6 +775,7 @@ gctaHARDWARE_PrepareFunctions(
     gctUINT32 mmuBytes;
     gctUINT32 endBytes = 8;
     gctUINT8_PTR logical;
+    gctPHYS_ADDR_T physical;
 
     gcmkHEADER();
 
@@ -698,9 +804,11 @@ gctaHARDWARE_PrepareFunctions(
     gcmkONERROR(gctaOS_GetPhysicalAddress(
         Hardware->ta->os,
         Hardware->functionLogical,
-        (gctPHYS_ADDR_T *)&Hardware->functionAddress
+        &physical
         ));
 
+    gcmkSAFECASTPHYSADDRT(Hardware->functionAddress, physical);
+
     function = &Hardware->functions[0];
 
     function->logical = Hardware->functionLogical;
index bd2fcba..07f21b1 100644 (file)
@@ -217,7 +217,7 @@ gctaOS_GetPhysicalAddress(
 
     gcmkVERIFY_OK(gckOS_CPUPhysicalToGPUPhysical(Os->os, physical, &physical));
 
-    *Physical = (gctUINT32)physical;
+    *Physical = physical;
 
     return gcvSTATUS_OK;