MGS-2752 [#imx-303] integrate 6.2.2 snapshot release
authorXianzhong <xianzhong.li@nxp.com>
Tue, 28 Mar 2017 06:04:20 +0000 (14:04 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:21:43 +0000 (15:21 -0500)
Integrate 6.2.2 coverity fix and snapshot patches

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
14 files changed:
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_command.c
drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.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_video_memory.c
drivers/mxc/gpu-viv/hal/kernel/inc/gc_feature_database.h
drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_engine.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/freescale/gc_hal_kernel_allocator_cma.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.c
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_debug.h
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_driver.c

index 44c1d32..51b4274 100644 (file)
@@ -880,9 +880,9 @@ _ProcessUserCommandBufferList(
     gceSTATUS           status;
     gctBOOL             needCopy;
 
-    struct _gcoCMDBUF   _nextCMDBUF;
     struct _gcoCMDBUF   _commandBufferObject;
     gcoCMDBUF           currentCMDBUF;
+    struct _gcoCMDBUF   _nextCMDBUF;
     gcoCMDBUF           currentCMDBUFUser = CommandBufferListHead;
 
     gckOS_QueryNeedCopy(Command->os, 0, &needCopy);
@@ -1971,13 +1971,6 @@ gckCOMMAND_Commit(
             ));
     }
 
-    /* Get the physical address. */
-    gcmkONERROR(gckOS_UserLogicalToPhysical(
-        Command->os,
-        commandBufferLogical,
-        &commandBufferPhysical
-        ));
-
 #ifdef __QNXNTO__
     userCommandBufferLogical = (gctPOINTER) commandBufferLogical;
 
@@ -1990,6 +1983,19 @@ gckCOMMAND_Commit(
     commandBufferLogical = pointer;
 
     userCommandBufferLogicalMapped = gcvTRUE;
+
+    gcmkONERROR(gckOS_GetPhysicalAddress(
+        Command->os,
+        commandBufferLogical,
+        &commandBufferPhysical
+        ));
+#else
+    /* Get the physical address. */
+    gcmkONERROR(gckOS_UserLogicalToPhysical(
+        Command->os,
+        commandBufferLogical,
+        &commandBufferPhysical
+        ));
 #endif
 
     commandBufferSize
index 8257589..3faa389 100644 (file)
@@ -91,6 +91,7 @@ gckKERNEL_NewDatabase(
 {
     gceSTATUS status;
     gcsDATABASE_PTR database;
+    gctPOINTER pointer = gcvNULL;
     gctBOOL acquired = gcvFALSE;
     gctSIZE_T slot;
     gcsDATABASE_PTR existingDatabase;
@@ -124,8 +125,6 @@ gckKERNEL_NewDatabase(
     }
     else
     {
-        gctPOINTER pointer = gcvNULL;
-
         /* Allocate a new database from the heap. */
         gcmkONERROR(gckOS_Allocate(Kernel->os,
                                    gcmSIZEOF(gcsDATABASE),
@@ -156,6 +155,11 @@ gckKERNEL_NewDatabase(
     return gcvSTATUS_OK;
 
 OnError:
+    if (pointer)
+    {
+        gcmkOS_SAFE_FREE(Kernel->os, pointer);
+    }
+
     if (acquired)
     {
         /* Release the database mutex. */
index 7349446..dbf00f0 100644 (file)
@@ -762,7 +762,7 @@ _PrintBuffer(
         if ((column % COLUMN_COUNT) == 0)
         {
             /* Append EOL. */
-            gcmkSTRCAT(buffer + len, gcmSIZEOF(buffer) - len, "\n");
+            gcmkSTRCATSAFE(buffer, gcmSIZEOF(buffer), "\n");
 
             /* Print the string. */
             gcmkOUTPUT_STRING(buffer);
@@ -777,7 +777,7 @@ _PrintBuffer(
     if (column != 0)
     {
         /* Append EOL. */
-        gcmkSTRCAT(buffer + len, gcmSIZEOF(buffer) - len, "\n");
+        gcmkSTRCATSAFE(buffer, gcmSIZEOF(buffer), "\n");
 
         /* Print the string. */
         gcmkOUTPUT_STRING(buffer);
@@ -787,7 +787,7 @@ _PrintBuffer(
     if (command)
     {
         buffer[indent] = '\0';
-        gcmkSTRCAT(buffer, gcmSIZEOF(buffer), "] -- command\n");
+        gcmkSTRCATSAFE(buffer, gcmSIZEOF(buffer), "] -- command\n");
         gcmkOUTPUT_STRING(buffer);
     }
 }
index 75f87e8..5927434 100644 (file)
@@ -1963,6 +1963,7 @@ gckEVENT_Commit(
     gcsQUEUE_PTR record = gcvNULL, next;
     gctUINT32 processID;
     gctBOOL needCopy = gcvFALSE;
+    gctPOINTER pointer = gcvNULL;
 
     gcmkHEADER_ARG("Event=0x%x Queue=0x%x", Event, Queue);
 
@@ -1993,7 +1994,6 @@ gckEVENT_Commit(
         }
         else
         {
-            gctPOINTER pointer = gcvNULL;
 
             /* Map record into kernel memory. */
             gcmkONERROR(gckOS_MapUserPointer(Event->os,
@@ -2033,13 +2033,13 @@ gckEVENT_Commit(
     return gcvSTATUS_OK;
 
 OnError:
-    if ((record != gcvNULL) && !needCopy)
+    if (pointer)
     {
         /* Roll back. */
         gcmkVERIFY_OK(gckOS_UnmapUserPointer(Event->os,
                                              Queue,
                                              gcmSIZEOF(gcsQUEUE),
-                                             (gctPOINTER *) record));
+                                             (gctPOINTER*)pointer));
     }
 
     /* Return the status. */
index 3eac300..543c727 100644 (file)
@@ -2786,13 +2786,17 @@ gckVIDMEM_NODE_Name(
         gcmkONERROR(gckKERNEL_AllocateIntegerId(database, node, &name));
         node->name = name;
     }
+    else
+    {
+        name = node->name;
+    }
 
     gcmkVERIFY_OK(gckOS_ReleaseMutex(Kernel->os, mutex));
     acquired = gcvFALSE;
 
     gcmkVERIFY_OK(gckVIDMEM_NODE_Dereference(Kernel, node));
 
-    *Name = node->name;
+    *Name = name;
 
     gcmkFOOTER_ARG("*Name=%d", *Name);
     return gcvSTATUS_OK;
index cc8cc0f..1fab87c 100644 (file)
@@ -53,7 +53,7 @@
 *****************************************************************************/
 
 
-/*Auto created on 2017-02-25 04:10*/
+/*Auto created on 2017-03-15 15:42*/
 #ifndef _gc_feature_database_h_
 #define _gc_feature_database_h_
 
@@ -11288,14 +11288,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* 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 */
         0x0, /* FormalRelease */
         0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
@@ -11323,28 +11323,28 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
-        0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        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 */
@@ -11352,73 +11352,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 */
@@ -11426,7 +11426,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 */
@@ -11437,20 +11437,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 */
@@ -11468,18 +11468,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 */
@@ -11488,37 +11488,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 */
@@ -11527,11 +11527,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 */
@@ -11549,21 +11549,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 */
@@ -11689,13 +11689,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* 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 */
         0x0, /* FormalRelease */
         0x1, /* gcFEATURE_VALUE_Streams */
@@ -11724,28 +11724,28 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
-        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        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 */
@@ -11753,73 +11753,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 */
@@ -11827,7 +11827,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 */
@@ -11838,20 +11838,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 */
@@ -11869,18 +11869,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 */
@@ -11889,37 +11889,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 */
@@ -11928,11 +11928,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 */
@@ -11959,10 +11959,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 */
@@ -11992,7 +11992,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 */
@@ -12036,7 +12036,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_PE2D_SEPARATE_CACHE */
         0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
         0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
         0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
@@ -12090,14 +12090,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* 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 */
         0x0, /* FormalRelease */
         0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
@@ -12125,7 +12125,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x1, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
         0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
@@ -12145,7 +12145,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 */
@@ -12242,7 +12242,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 */
@@ -12276,7 +12276,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 */
@@ -12308,7 +12308,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 */
@@ -12351,21 +12351,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 */
@@ -12393,7 +12393,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 */
@@ -12437,7 +12437,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 */
+        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 */
@@ -12491,15 +12491,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* 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 */
+        0x202, /* CustomerID */
+        0x0, /* PatchVersion */
+        0x0, /* FormalRelease */
         0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
@@ -12546,7 +12546,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 */
@@ -12650,7 +12650,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 */
@@ -12744,7 +12744,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 */
@@ -12752,8 +12752,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 */
@@ -12794,7 +12794,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 */
@@ -12892,10 +12892,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc520_v552_rc1 */
+    /* gc520sp_5_5_2_rc0a */
     {
         0x520, /* ChipID */
-        0x5521, /* ChipRevision */
+        0x5520, /* ChipRevision */
         0x5200, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
@@ -13293,15 +13293,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* 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, /* FormalRelease */
         0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
@@ -13328,7 +13328,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x1, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
         0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
         0x0, /* gcFEATURE_BIT_REG_Pipe3D */
         0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
@@ -13348,7 +13348,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 */
@@ -13452,7 +13452,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 */
@@ -13479,7 +13479,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 */
@@ -13546,7 +13546,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 */
@@ -13554,8 +13554,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 */
@@ -13694,16 +13694,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* 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 */
         0x0, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
+        0x1, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
@@ -13712,7 +13712,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -13729,107 +13729,107 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        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 */
@@ -13842,24 +13842,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 */
@@ -13874,57 +13874,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 */
@@ -13933,11 +13933,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 */
@@ -13955,8 +13955,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 */
@@ -14095,15 +14095,416 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc7000nanoultra_4_6_5_rc3a */
+    /* gc600L_0x465x */
     {
         0x600, /* ChipID */
-        0x4653, /* ChipRevision */
+        0x4652, /* ChipRevision */
         0x70005, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x1, /* PatchVersion */
-        0x1, /* FormalRelease */
+        0x7, /* PatchVersion */
+        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 */
+        0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* 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 */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+        0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+        0x1, /* gcFEATURE_BIT_REG_MinArea */
+        0x1, /* 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 */
+        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 */
+        0x1, /* 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 */
+        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_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 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+        0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+        0x0, /* 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 */
+        0x1, /* 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 */
+        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 */
+        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 */
+        0x0, /* 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 */
+        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_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_RectPrimitive */
+        0x0, /* gcFEATURE_BIT_REG_Composition */
+        0x0, /* 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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_Generics */
+        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 */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+        0x0, /* 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_PEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+        0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+        0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+        0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+        0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+        0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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_S8MSAACompression */
+        0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        0x0, /* 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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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_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 */
+        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 */
+    },
+    /* gc7000nanoultra_4_6_5_rc3a */
+    {
+        0x600, /* ChipID */
+        0x4653, /* ChipRevision */
+        0x70005, /* ProductID */
+        0x0, /* EcoID */
+        0x0, /* CustomerID */
+        0x1, /* PatchVersion */
+        0x1, /* FormalRelease */
         0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
@@ -15699,16 +16100,417 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc620tpc_5_5_6_rc0a */
+    /* gc620tpc_5_5_6_rc0a */
+    {
+        0x620, /* ChipID */
+        0x5560, /* ChipRevision */
+        0x6200, /* ProductID */
+        0x0, /* EcoID */
+        0x200, /* CustomerID */
+        0x1, /* PatchVersion */
+        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 */
+        0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+        0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+        0x0, /* gcFEATURE_VALUE_NNCoreCount */
+        0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+        0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+        0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
+        0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
+        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+        0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+        0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_DebugMode */
+        0x0, /* gcFEATURE_BIT_REG_ZCompression */
+        0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+        0x0, /* 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_HighDynamicRange */
+        0x0, /* 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 */
+        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_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 */
+        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 */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+        0x0, /* 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_DefaultReg0 */
+        0x1, /* gcFEATURE_BIT_REG_MC20 */
+        0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+        0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+        0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+        0x0, /* gcFEATURE_BIT_REG_V2Compression */
+        0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+        0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+        0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+        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 */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+        0x0, /* 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 */
+        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 */
+        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 */
+        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 */
+        0x1, /* 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_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 */
+        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_OclOnly */
+        0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+        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 */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        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 */
+        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 */
+        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 */
+        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 */
+        0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+        0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+        0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+        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 */
+        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 */
+        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 */
+        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 */
+        0x0, /* 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_Halti4 */
+        0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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 */
+        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_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 */
+        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 */
+        0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+        0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+        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_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 */
+        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 */
+    },
+    /* gc860L_0x464x */
     {
-        0x620, /* ChipID */
-        0x5560, /* ChipRevision */
-        0x6200, /* ProductID */
+        0x860, /* ChipID */
+        0x4647, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
-        0x200, /* CustomerID */
-        0x1, /* PatchVersion */
+        0x0, /* CustomerID */
+        0x4, /* PatchVersion */
         0x0, /* FormalRelease */
-        0x1, /* gcFEATURE_VALUE_Streams */
+        0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
@@ -15717,7 +16519,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -15734,28 +16536,28 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_VALUE_ClusterAliveMask */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */
         0x0, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */
-        0x0, /* gcFEATURE_BIT_REG_FastClear */
+        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 */
+        0x1, /* gcFEATURE_BIT_REG_ZCompression */
+        0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
         0x0, /* gcFEATURE_BIT_REG_MSAA */
         0x0, /* gcFEATURE_BIT_REG_DC */
-        0x1, /* gcFEATURE_BIT_REG_Pipe2D */
-        0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+        0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+        0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
         0x1, /* 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_NoEZ */
-        0x1, /* gcFEATURE_BIT_REG_No422Texture */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        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_NoScaler */
+        0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
         0x0, /* gcFEATURE_BIT_REG_HalfPECache */
         0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
         0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
@@ -15763,73 +16565,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_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 */
-        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_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 */
@@ -15847,24 +16649,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 */
@@ -15879,8 +16681,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 */
@@ -15889,47 +16691,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 */
         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 */
@@ -15938,12 +16740,12 @@ 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 */
-        0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+        0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
+        0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
         0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
         0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
         0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
@@ -16002,7 +16804,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 */
@@ -16061,8 +16863,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -16075,7 +16877,7 @@ 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 */
@@ -16100,16 +16902,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc860L_0x464x */
+    /* gc880_5106 */
     {
-        0x860, /* ChipID */
-        0x4647, /* ChipRevision */
+        0x880, /* ChipID */
+        0x5106, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x4, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
+        0x0, /* PatchVersion */
+        0x1, /* FormalRelease */
+        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
@@ -16117,10 +16919,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_VALUE_NumPixelPipes */
         0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0xb, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
@@ -16142,11 +16944,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_DebugMode */
         0x1, /* gcFEATURE_BIT_REG_ZCompression */
         0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
-        0x0, /* gcFEATURE_BIT_REG_MSAA */
+        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 */
+        0x0, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
@@ -16175,7 +16977,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
         0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
         0x1, /* gcFEATURE_BIT_REG_2DPE20 */
-        0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
         0x1, /* gcFEATURE_BIT_REG_Render8K */
         0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
         0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
@@ -16190,13 +16992,13 @@ 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 */
-        0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+        0x1, /* 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 */
@@ -16205,52 +17007,52 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
         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 */
-        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 */
+        0x0, /* 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 */
+        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 */
-        0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+        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 */
         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 */
-        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 */
@@ -16258,12 +17060,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 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        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 */
@@ -16290,13 +17092,13 @@ 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 */
@@ -16312,7 +17114,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
         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 */
@@ -16403,7 +17205,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 */
@@ -16501,16 +17303,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc880_5106 */
+    /* gc880_5122 */
     {
         0x880, /* ChipID */
-        0x5106, /* ChipRevision */
-        0x0, /* ProductID */
+        0x5122, /* ChipRevision */
+        0x70007, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        0x0, /* FormalRelease */
+        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
@@ -16519,9 +17321,9 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xb, /* gcFEATURE_VALUE_VaryingCount */
+        0xc, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
@@ -16545,7 +17347,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* 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 */
         0x0, /* gcFEATURE_BIT_REG_FastScaler */
         0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
@@ -16556,7 +17358,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -16570,7 +17372,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 */
@@ -16595,7 +17397,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 */
@@ -16628,16 +17430,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
         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 */
         0x1, /* 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_PESwizzle */
@@ -16659,12 +17461,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
         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 */
+        0x1, /* 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 */
         0x0, /* gcFEATURE_BIT_REG_InstructionCache */
@@ -16745,7 +17547,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 */
@@ -16902,16 +17704,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc880_5122 */
+    /* gc880TM_0x512x */
     {
         0x880, /* ChipID */
-        0x5122, /* ChipRevision */
+        0x5124, /* ChipRevision */
         0x70007, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x2, /* PatchVersion */
         0x0, /* FormalRelease */
-        0x10, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
@@ -16940,10 +17742,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
         0x1, /* gcFEATURE_BIT_REG_Pipe2D */
@@ -16952,12 +17754,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
         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 */
@@ -17000,7 +17802,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 */
@@ -17052,7 +17854,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -17303,17 +18105,17 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc880TM_0x512x */
+    /* gc900_5250 */
     {
-        0x880, /* ChipID */
-        0x5124, /* ChipRevision */
-        0x70007, /* ProductID */
+        0x900, /* ChipID */
+        0x5250, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x2, /* PatchVersion */
+        0x0, /* PatchVersion */
         0x0, /* FormalRelease */
         0x8, /* gcFEATURE_VALUE_Streams */
-        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_TempRegisters */
         0x100, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
         0x1, /* gcFEATURE_VALUE_NumShaderCores */
@@ -17321,11 +18123,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
         0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xc, /* gcFEATURE_VALUE_VaryingCount */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x0, /* gcFEATURE_VALUE_L1CacheSize */
+        0x2, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
@@ -17341,19 +18143,19 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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_FastScaler */
+        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 */
@@ -17393,7 +18195,7 @@ 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 */
@@ -17401,7 +18203,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 */
@@ -17413,7 +18215,7 @@ 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 */
         0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
@@ -17435,29 +18237,29 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
         0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
         0x1, /* gcFEATURE_BIT_REG_LineLoop */
-        0x0, /* gcFEATURE_BIT_REG_LogicOp */
+        0x1, /* 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_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 */
+        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 */
-        0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        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_FlushFixed2D */
         0x0, /* gcFEATURE_BIT_REG_Interleaver */
         0x1, /* gcFEATURE_BIT_REG_MixedStreams */
         0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
@@ -17465,42 +18267,42 @@ 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 */
-        0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+        0x1, /* 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 */
-        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 */
-        0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+        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_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 */
@@ -17509,7 +18311,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 */
@@ -17523,7 +18325,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 */
@@ -17534,11 +18336,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 */
@@ -17547,7 +18349,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 */
@@ -17704,29 +18506,29 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc900_5250 */
+    /* gc1000_5036 */
     {
-        0x900, /* ChipID */
-        0x5250, /* ChipRevision */
+        0x1000, /* ChipID */
+        0x5036, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
-        0x200, /* gcFEATURE_VALUE_TempRegisters */
-        0x100, /* gcFEATURE_VALUE_ThreadCount */
+        0x1, /* FormalRelease */
+        0x4, /* gcFEATURE_VALUE_Streams */
+        0x40, /* gcFEATURE_VALUE_TempRegisters */
+        0x200, /* gcFEATURE_VALUE_ThreadCount */
         0x8, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x1, /* gcFEATURE_VALUE_NumShaderCores */
+        0x2, /* gcFEATURE_VALUE_NumShaderCores */
         0x1, /* gcFEATURE_VALUE_NumPixelPipes */
         0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x240, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x10, /* gcFEATURE_VALUE_VaryingCount */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x2, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
@@ -17745,13 +18547,13 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
+        0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
         0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
         0x1, /* gcFEATURE_BIT_REG_ModuleCG */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
@@ -17773,7 +18575,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 */
@@ -17798,9 +18600,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 */
@@ -17814,51 +18616,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 */
@@ -17870,38 +18672,38 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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_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_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 */
+        0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+        0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* 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_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 */
@@ -17910,7 +18712,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 */
@@ -17924,7 +18726,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 */
@@ -17935,11 +18737,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 */
@@ -18007,7 +18809,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 */
@@ -18105,10 +18907,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc1000_5036 */
+    /* gc1000_5037 */
     {
         0x1000, /* ChipID */
-        0x5036, /* ChipRevision */
+        0x5037, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
@@ -18506,12 +19308,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc1000_5037 */
+    /* gc1000_5037_1 */
     {
         0x1000, /* ChipID */
         0x5037, /* ChipRevision */
         0x0, /* ProductID */
-        0x0, /* EcoID */
+        0x1, /* EcoID */
         0x0, /* CustomerID */
         0x0, /* PatchVersion */
         0x1, /* FormalRelease */
@@ -18547,10 +19349,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -18907,14 +19709,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc1000_5037_1 */
+    /* gc1000_5039 */
     {
         0x1000, /* ChipID */
-        0x5037, /* ChipRevision */
+        0x5039, /* ChipRevision */
         0x0, /* ProductID */
-        0x1, /* EcoID */
+        0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x11, /* PatchVersion */
         0x1, /* FormalRelease */
         0x4, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
@@ -19027,8 +19829,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_New2D */
         0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
         0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
-        0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
-        0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+        0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+        0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
         0x0, /* gcFEATURE_BIT_REG_Halti0 */
         0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
         0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
@@ -19042,7 +19844,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
         0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
@@ -19308,29 +20110,29 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc1000_5039 */
+    /* gc1500_5246 */
     {
-        0x1000, /* ChipID */
-        0x5039, /* ChipRevision */
-        0x0, /* ProductID */
+        0x1500, /* ChipID */
+        0x5246, /* ChipRevision */
+        0x70003, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x11, /* PatchVersion */
+        0x6, /* PatchVersion */
         0x1, /* FormalRelease */
-        0x4, /* gcFEATURE_VALUE_Streams */
+        0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x200, /* gcFEATURE_VALUE_ThreadCount */
-        0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+        0x10, /* 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 */
+        0x400, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x0, /* gcFEATURE_VALUE_L1CacheSize */
+        0x2, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
         0x1, /* gcFEATURE_VALUE_NumResolvePipes */
@@ -19355,7 +20157,7 @@ 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 */
         0x0, /* gcFEATURE_BIT_REG_MinArea */
@@ -19377,7 +20179,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 */
@@ -19402,9 +20204,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 */
@@ -19418,51 +20220,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 */
         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 */
         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 */
+        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 */
         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 */
@@ -19481,12 +20283,12 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
@@ -19495,17 +20297,17 @@ 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_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 */
@@ -19514,7 +20316,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 */
@@ -19528,7 +20330,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 */
@@ -19539,11 +20341,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 */
@@ -19552,7 +20354,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 */
@@ -19601,7 +20403,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 */
-        0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+        0x1, /* 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 */
@@ -19611,7 +20413,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 */
@@ -19709,32 +20511,32 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc1500_5246 */
+    /* gc2000_5108 */
     {
-        0x1500, /* ChipID */
-        0x5246, /* ChipRevision */
-        0x70003, /* ProductID */
+        0x2000, /* ChipID */
+        0x5108, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x6, /* PatchVersion */
+        0x0, /* PatchVersion */
         0x1, /* FormalRelease */
         0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x200, /* gcFEATURE_VALUE_ThreadCount */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
         0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x2, /* gcFEATURE_VALUE_NumShaderCores */
-        0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x2, /* gcFEATURE_VALUE_NumPixelPipes */
         0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x400, /* gcFEATURE_VALUE_InstructionCount */
-        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0xb, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x2, /* gcFEATURE_VALUE_L1CacheSize */
+        0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x0, /* gcFEATURE_VALUE_ShaderPCLength */
-        0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+        0x2, /* gcFEATURE_VALUE_NumResolvePipes */
         0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
         0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
         0x0, /* gcFEATURE_VALUE_NNMadPerCore */
@@ -19756,11 +20558,11 @@ 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 */
-        0x0, /* gcFEATURE_BIT_REG_NoEZ */
+        0x1, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
@@ -19778,7 +20580,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 */
@@ -19803,7 +20605,7 @@ 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 */
@@ -19819,7 +20621,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 */
@@ -19836,59 +20638,59 @@ 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 */
-        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_BugFixes6 */
+        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 */
+        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_CorrectAutoDisableCountWidth */
+        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_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_YUVStandard */
+        0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+        0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+        0x0, /* gcFEATURE_BIT_REG_TileFiller */
+        0x0, /* 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_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 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
-        0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        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 */
-        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 */
-        0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+        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 */
@@ -19896,17 +20698,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_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 */
@@ -19915,7 +20717,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 */
@@ -19929,7 +20731,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 */
@@ -19940,11 +20742,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 */
@@ -19953,7 +20755,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 */
@@ -20110,27 +20912,27 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc2000_5108 */
+    /* gc2000_5140 */
     {
         0x2000, /* ChipID */
-        0x5108, /* ChipRevision */
+        0x5140, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x1, /* FormalRelease */
+        0x5, /* PatchVersion */
+        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 */
-        0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+        0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x200, /* gcFEATURE_VALUE_InstructionCount */
-        0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x100, /* gcFEATURE_VALUE_InstructionCount */
+        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xb, /* gcFEATURE_VALUE_VaryingCount */
+        0x8, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x0, /* gcFEATURE_VALUE_L1CacheSize */
         0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
@@ -20160,8 +20962,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* 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_MinArea */
+        0x0, /* gcFEATURE_BIT_REG_NoEZ */
         0x0, /* gcFEATURE_BIT_REG_No422Texture */
         0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
         0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
@@ -20179,7 +20981,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 */
@@ -20223,7 +21025,7 @@ 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 */
@@ -20232,63 +21034,63 @@ 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 */
         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 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
         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 */
-        0x0, /* gcFEATURE_BIT_REG_LinearPE */
+        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 */
         0x0, /* gcFEATURE_BIT_REG_Composition */
         0x0, /* 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 */
-        0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+        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 */
-        0x0, /* gcFEATURE_BIT_REG_TileFiller */
-        0x0, /* gcFEATURE_BIT_REG_YUVStandard */
+        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 */
-        0x0, /* gcFEATURE_BIT_REG_Interleaver */
-        0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+        0x1, /* gcFEATURE_BIT_REG_Interleaver */
+        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 */
+        0x1, /* 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 */
-        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 */
+        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 */
+        0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_ACE */
@@ -20299,15 +21101,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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_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_PEEnhancements2 */
+        0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
         0x0, /* gcFEATURE_BIT_REG_DENoGamma */
         0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
         0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
@@ -20511,15 +21313,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc2000_5140 */
+    /* gc2000w_5_1_4_rc0e */
     {
         0x2000, /* ChipID */
         0x5140, /* ChipRevision */
-        0x0, /* ProductID */
+        0x20000, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x5, /* PatchVersion */
-        0x0, /* FormalRelease */
+        0x1, /* FormalRelease */
         0x8, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
@@ -20656,7 +21458,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
         0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
@@ -20755,7 +21557,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 */
@@ -20912,16 +21714,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc2000w_5_1_4_rc0e */
+    /* gc2500_5422 */
     {
-        0x2000, /* ChipID */
-        0x5140, /* ChipRevision */
-        0x20000, /* ProductID */
+        0x2500, /* ChipID */
+        0x5422, /* ChipRevision */
+        0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x5, /* PatchVersion */
+        0x12, /* PatchVersion */
         0x1, /* FormalRelease */
-        0x8, /* gcFEATURE_VALUE_Streams */
+        0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
         0x10, /* gcFEATURE_VALUE_VertexCacheSize */
@@ -20929,14 +21731,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x2, /* gcFEATURE_VALUE_NumPixelPipes */
         0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
-        0x100, /* gcFEATURE_VALUE_InstructionCount */
-        0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+        0x200, /* gcFEATURE_VALUE_InstructionCount */
+        0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0x8, /* gcFEATURE_VALUE_VaryingCount */
+        0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x0, /* gcFEATURE_VALUE_L1CacheSize */
-        0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
-        0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+        0x4, /* 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 */
@@ -20959,10 +21761,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 */
@@ -21012,7 +21814,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 */
@@ -21022,10 +21824,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 */
@@ -21034,7 +21836,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 */
@@ -21042,109 +21844,109 @@ 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 */
-        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 */
+        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 */
         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 */
-        0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
-        0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+        0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+        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 */
+        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 */
-        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_ExtraShaderInstructions2 */
         0x1, /* 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_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 */
-        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 */
         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_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_BugFixes21 */
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
@@ -21156,7 +21958,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 */
@@ -21167,7 +21969,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 */
@@ -21313,20 +22115,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc2500_5422 */
+    /* gc6400_5422 */
     {
-        0x2500, /* ChipID */
+        0x6400, /* ChipID */
         0x5422, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x12, /* PatchVersion */
+        0x16, /* PatchVersion */
         0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x400, /* gcFEATURE_VALUE_ThreadCount */
+        0x800, /* gcFEATURE_VALUE_ThreadCount */
         0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x4, /* gcFEATURE_VALUE_NumShaderCores */
+        0x8, /* gcFEATURE_VALUE_NumShaderCores */
         0x2, /* gcFEATURE_VALUE_NumPixelPipes */
         0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
@@ -21335,7 +22137,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_VALUE_CoreCount */
         0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x4, /* gcFEATURE_VALUE_L1CacheSize */
+        0x8, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
@@ -21714,20 +22516,20 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc6400_5422 */
+    /* gc3000_5435 */
     {
-        0x6400, /* ChipID */
-        0x5422, /* ChipRevision */
+        0x3000, /* ChipID */
+        0x5435, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x16, /* PatchVersion */
+        0x0, /* PatchVersion */
         0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
-        0x800, /* gcFEATURE_VALUE_ThreadCount */
+        0x400, /* gcFEATURE_VALUE_ThreadCount */
         0x10, /* gcFEATURE_VALUE_VertexCacheSize */
-        0x8, /* gcFEATURE_VALUE_NumShaderCores */
+        0x4, /* gcFEATURE_VALUE_NumShaderCores */
         0x2, /* gcFEATURE_VALUE_NumPixelPipes */
         0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
         0x0, /* gcFEATURE_VALUE_BufferSize */
@@ -21736,7 +22538,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_VALUE_CoreCount */
         0xf, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
-        0x8, /* gcFEATURE_VALUE_L1CacheSize */
+        0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
         0x14, /* gcFEATURE_VALUE_ShaderPCLength */
         0x2, /* gcFEATURE_VALUE_NumResolvePipes */
@@ -21945,7 +22747,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -21969,7 +22771,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 */
@@ -22002,7 +22804,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 */
@@ -22104,7 +22906,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_EVIS_VX2 */
         0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        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 */
@@ -22115,14 +22917,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc3000_5435 */
+    /* gc2000_ffff5450 */
     {
-        0x3000, /* ChipID */
-        0x5435, /* ChipRevision */
+        0x2000, /* ChipID */
+        0xffff5450, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
+        0x8, /* PatchVersion */
         0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
@@ -22135,7 +22937,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x200, /* gcFEATURE_VALUE_InstructionCount */
         0x140, /* gcFEATURE_VALUE_NumberOfConstants */
         0x1, /* gcFEATURE_VALUE_CoreCount */
-        0xf, /* gcFEATURE_VALUE_VaryingCount */
+        0x10, /* gcFEATURE_VALUE_VaryingCount */
         0x0, /* gcFEATURE_VALUE_LocalStorageSize */
         0x4, /* gcFEATURE_VALUE_L1CacheSize */
         0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
@@ -22350,7 +23152,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* 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 */
@@ -22370,7 +23172,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 */
@@ -22461,7 +23263,7 @@ 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 */
@@ -22505,7 +23307,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_EVIS_VX2 */
         0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        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 */
@@ -22516,10 +23318,10 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc2000_ffff5450 */
+    /* gc3000_5450 */
     {
-        0x2000, /* ChipID */
-        0xffff5450, /* ChipRevision */
+        0x3000, /* ChipID */
+        0x5450, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
@@ -22917,14 +23719,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc3000_5450 */
+    /* gc3000_5451 */
     {
         0x3000, /* ChipID */
-        0x5450, /* ChipRevision */
+        0x5451, /* ChipRevision */
         0x0, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x8, /* PatchVersion */
+        0x4, /* PatchVersion */
         0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
@@ -23162,16 +23964,16 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
         0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
         0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
-        0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+        0x1, /* 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_FEAllowRndVtxCnt */
         0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
         0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
         0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
         0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
-        0x0, /* gcFEATURE_BIT_REG_RSS8 */
+        0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
         0x0, /* gcFEATURE_BIT_REG_Halti5 */
         0x0, /* gcFEATURE_BIT_REG_Evis */
@@ -23263,7 +24065,7 @@ 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 */
@@ -23318,15 +24120,15 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc3000_5451 */
+    /* gc7000L_551x */
     {
         0x3000, /* ChipID */
-        0x5451, /* ChipRevision */
-        0x0, /* ProductID */
+        0x5512, /* ChipRevision */
+        0x70002, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x4, /* PatchVersion */
-        0x1, /* FormalRelease */
+        0x3, /* PatchVersion */
+        0x0, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
@@ -23387,7 +24189,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 */
@@ -23459,7 +24261,7 @@ 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 */
@@ -23494,7 +24296,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
         0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
         0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
-        0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+        0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
         0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
@@ -23540,7 +24342,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
         0x0, /* gcFEATURE_BIT_REG_Compression2D */
-        0x0, /* gcFEATURE_BIT_REG_Probe */
+        0x1, /* gcFEATURE_BIT_REG_Probe */
         0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
         0x0, /* gcFEATURE_BIT_REG_DESupertile */
         0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
@@ -23554,23 +24356,23 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
         0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
         0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
-        0x0, /* gcFEATURE_BIT_REG_Halti3 */
+        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_TXSupportDEC */
+        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 */
+        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 */
         0x1, /* gcFEATURE_BIT_REG_RSS8 */
         0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
@@ -23649,7 +24451,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -23660,11 +24462,11 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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 */
@@ -23675,7 +24477,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* 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 */
@@ -23696,7 +24498,7 @@ 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_PE_DITHER_FIX2 */
         0x0, /* gcFEATURE_BIT_G2D_DEC400 */
         0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
         0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
@@ -23708,7 +24510,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_EVIS_VX2 */
         0x0, /* gcFEATURE_BIT_NN_FLOAT */
         0x0, /* gcFEATURE_BIT_DEC400 */
-        0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
+        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 */
@@ -23719,7 +24521,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc7000L_551x */
+    /* gc7000L_5512 */
     {
         0x3000, /* ChipID */
         0x5512, /* ChipRevision */
@@ -23727,7 +24529,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* EcoID */
         0x0, /* CustomerID */
         0x3, /* PatchVersion */
-        0x0, /* FormalRelease */
+        0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
@@ -24120,14 +24922,14 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */
         0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */
     },
-    /* gc7000L_5512 */
+    /* gc7000L_5514 */
     {
         0x3000, /* ChipID */
-        0x5512, /* ChipRevision */
+        0x5514, /* ChipRevision */
         0x70002, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x3, /* PatchVersion */
+        0x0, /* PatchVersion */
         0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
@@ -24450,7 +25252,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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_RSBLT_MSAA_DECOMPRESSION */
         0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
         0x0, /* gcFEATURE_BIT_DRAWID */
         0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
@@ -24478,7 +25280,7 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         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_PSIO_MSAA_CL_FIX */
         0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
         0x0, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */
         0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
@@ -24494,7 +25296,7 @@ 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 */
@@ -28538,8 +29340,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x70008, /* ProductID */
         0x0, /* EcoID */
         0x0, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
+        0x9, /* PatchVersion */
+        0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x800, /* gcFEATURE_VALUE_ThreadCount */
@@ -41771,8 +42573,8 @@ static gcsFEATURE_DATABASE gChipInfo[] = {
         0x70002, /* ProductID */
         0x0, /* EcoID */
         0x30, /* CustomerID */
-        0x0, /* PatchVersion */
-        0x0, /* FormalRelease */
+        0x8, /* PatchVersion */
+        0x1, /* FormalRelease */
         0x10, /* gcFEATURE_VALUE_Streams */
         0x40, /* gcFEATURE_VALUE_TempRegisters */
         0x400, /* gcFEATURE_VALUE_ThreadCount */
index a10be4b..c974975 100644 (file)
@@ -1650,7 +1650,7 @@ typedef struct _gcsTHREAD_WALKER_INFO
 }
 gcsTHREAD_WALKER_INFO;
 
-#if gcdUSE_VX
+#if gcdENABLE_3D && gcdUSE_VX
 /* VX thread walker parameters. */
 typedef struct _gcsVX_THREAD_WALKER_PARAMETERS * gcsVX_THREAD_WALKER_PARAMETERS_PTR;
 
index 7f51dd9..b8e083f 100644 (file)
@@ -62,8 +62,8 @@
 
 #define gcvVERSION_PATCH        2
 
-#define gcvVERSION_BUILD     90788
+#define gcvVERSION_BUILD     92148
 
-#define gcvVERSION_STRING    "6.2.2.pre3.90788"
+#define gcvVERSION_STRING    "6.2.2.pre4.92148"
 
 #endif /* __gc_hal_version_h_ */
index ebe3e77..034df66 100644 (file)
@@ -487,8 +487,10 @@ _DmaAlloctorInit(
     return gcvSTATUS_OK;
 
 OnError:
-    if(allocator != gcvNULL)
-        gckOS_Free(Os, (gctPOINTER)allocator);
+    if (allocator)
+    {
+        gcmkOS_SAFE_FREE(Os, allocator);
+    }
     return status;
 }
 
index acbc0b7..3463eb9 100644 (file)
@@ -290,6 +290,10 @@ _DmabufAttach(
     return gcvSTATUS_OK;
 
 OnError:
+    if (pagearray)
+    {
+        gcmkOS_SAFE_FREE(os, pagearray);
+    }
     gcmkFOOTER();
     return status;
 }
index 843f122..fb25e2a 100644 (file)
@@ -425,7 +425,7 @@ _CMAFSLAlloctorInit(
     )
 {
     gceSTATUS status;
-    gckALLOCATOR allocator;
+    gckALLOCATOR allocator = gcvNULL;
     gcsCMA_PRIV_PTR priv = gcvNULL;
 
     gcmkONERROR(
@@ -464,6 +464,10 @@ _CMAFSLAlloctorInit(
     return gcvSTATUS_OK;
 
 OnError:
+    if (allocator)
+    {
+        gcmkOS_SAFE_FREE(Os, allocator);
+    }
     return status;
 }
 
index 928a7da..f855a9e 100644 (file)
@@ -931,7 +931,7 @@ _DefaultAlloctorInit(
     )
 {
     gceSTATUS status;
-    gckALLOCATOR allocator;
+    gckALLOCATOR allocator = gcvNULL;
     gcsDEFAULT_PRIV_PTR priv = gcvNULL;
 
     gcmkONERROR(
@@ -967,6 +967,10 @@ _DefaultAlloctorInit(
     return gcvSTATUS_OK;
 
 OnError:
+    if (allocator)
+    {
+        gcmkOS_SAFE_FREE(Os, allocator);
+    }
     return status;
 }
 
index 01bdba4..afbd7b4 100644 (file)
@@ -143,8 +143,8 @@ typedef va_list gctARGUMENTS;
 #define gcmkVSPRINTF(Destination, Size, Message, Arguments) \
     vsnprintf(Destination, Size, Message, *((va_list*)Arguments))
 
-#define gcmkSTRCAT(Destination, Size, String) \
-    strncat(Destination, String, Size)
+#define gcmkSTRCATSAFE(Destination, Size, String) \
+    strncat(Destination, String, (Size) - 1)
 
 #define gcmkMEMCPY(Destination, Source, Size) \
     memcpy(Destination, Source, Size)
index cd9a088..816aae0 100644 (file)
@@ -67,7 +67,7 @@
 #define _GC_OBJ_ZONE    gcvZONE_DRIVER
 
 MODULE_DESCRIPTION("Vivante Graphics Driver");
-MODULE_LICENSE("GPL");
+MODULE_LICENSE("Dual MIT/GPL");
 
 static struct class* gpuClass;