/* Special case for older graphic cores. */
if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:
-24) + 1))))))))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
{
Identity->chipModel = gcv500;
- Identity->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
+ Identity->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
}
else
if (database == gcvNULL)
{
gcmkPRINT("[galcore]: Feature database is not found,"
- "chipModel=0x%0x, chipRevision=0x%x, productID=0x%x, ecoID=0x%x",
+ "chipModel=0x%0x, chipRevision=0x%x, productID=0x%x, ecoID=0x%x, customerID=0x%x",
Hardware->identity.chipModel,
Hardware->identity.chipRevision,
Hardware->identity.productID,
- Hardware->identity.ecoID);
+ Hardware->identity.ecoID,
+ Hardware->identity.customerID);
gcmkONERROR(gcvSTATUS_NOT_FOUND);
}
/* Special case for older graphic cores. */
if (((((gctUINT32) (chipIdentity)) >> (0 ? 31:24) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:
-24) + 1))))))))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ? 31:24) - (0 ? 31:24) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))))
{
Signature->chipModel = gcv500;
- Signature->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
+ Signature->chipRevision = (((((gctUINT32) (chipIdentity)) >> (0 ? 15:12)) & ((gctUINT32) ((((1 ? 15:12) - (0 ? 15:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:12) - (0 ? 15:12) + 1)))))) );
}
else
&Signature->chipMinorFeatures));
if (((((gctUINT32) (Signature->chipMinorFeatures)) >> (0 ? 21:21) & ((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:
-21) + 1)))))))
+ 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
+ 21:21) + 1)))))) == (0x1 & ((gctUINT32) ((((1 ? 21:21) - (0 ? 21:21) + 1) == 32) ?
+ ~0U : (~(~0U << ((1 ? 21:21) - (0 ? 21:21) + 1)))))))
)
{
/* Read chip minor features register #1. */
#if gcdDISABLE_FE_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)));
#endif
#if gcdDISABLE_PE_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2)));
#endif
#if gcdDISABLE_SH_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3)));
#endif
#if gcdDISABLE_PA_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4)));
#endif
#if gcdDISABLE_SE_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5)));
#endif
#if gcdDISABLE_RA_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ?
- 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6)));
#endif
#if gcdDISABLE_TX_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7)));
#endif
#if gcdDISABLE_RA_EZ_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16)));
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16)));
#endif
#if gcdDISABLE_RA_HZ_CLOCK_GATING
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 17:17) - (0 ?
- 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17)));
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17)));
#endif
gcmkVERIFY_OK(
&data));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2)));
gcmkVERIFY_OK(
&data));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)));
&control));
control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1)));
control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
available = database->FE_NEED_DUMMYDRAW;
break;
- case gcvFEATURE_DEC_COMPRESSION:
+ case gcvFEATURE_DEC300_COMPRESSION:
available = database->REG_DEC;
break;
+ case gcvFEATURE_DEC400_COMPRESSION:
+ available = database->G2D_DEC400;
+ break;
+
+ case gcvFEATURE_TPC_COMPRESSION:
+ available = database->REG_ThirdPartyCompression;
+ break;
+
+ case gcvFEATURE_TPCV11_COMPRESSION:
+ available = database->G2D_3rd_PARTY_COMPRESSION_1_1;
+ break;
+
case gcvFEATURE_USC_DEFER_FILL_FIX:
available = database->USC_DEFER_FILL_FIX;
break;
available = database->REG_Halti5;
break;
+ case gcvFEATURE_RA_CG_FIX:
+ available = database->RA_CG_FIX;
+ break;
+
default:
gcmkFATAL("Invalid feature has been requested.");
available = gcvFALSE;
core,
0x000EC,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 7:0) - (0 ? 7:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
+ ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ? 7:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8))) | (((gctUINT32) ((gctUINT32) (auxBit) & ((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8)))
));
}
#if gcdDEC_ENABLE_AHB
gcmkONERROR(gckOS_WriteRegisterEx(Os, gcvCORE_DEC, 0x18180, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ?
- 22:22))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 22:22) - (0 ? 22:22) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ? 22:22)))));
+ 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ? 22:22)))));
#endif
if (gckHARDWARE_IsFeatureAvailable(hardware, gcvFEATURE_64K_L2_CACHE) == gcvFALSE)
gctUINT32 value;
gcmkONERROR(gckOS_ReadRegisterEx(Os, Core, 0x00090, &value));
#if gcdDEC_ENABLE_AHB
- if (gckHARDWARE_IsFeatureAvailable(hardware, gcvFEATURE_DEC_COMPRESSION))
+ if (gckHARDWARE_IsFeatureAvailable(hardware, gcvFEATURE_DEC300_COMPRESSION))
{
value |= ~0xFFFFFFBF;
}
Hardware->core,
0x00000,
((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ?
- 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19)))));
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19)))));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
Hardware->core,
Hardware->core,
0x00000,
((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 11:11) - (0 ?
- 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11)))));
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11)))));
/* Reset memory counters. */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
/* Enable clock gating. */
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)));
if ((Hardware->identity.chipRevision == 0x4301)
/* Disable stall module level clock gating for 4.3.0.1 and 4.3.0.2
** revisions. */
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1)));
}
/* Disable PE clock gating. */
regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2)));
}
#endif
Hardware->core,
0x0010C,
((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ?
- 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:23) - (0 ?
- 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ?
- 23:23)))));
+ 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
+ 23:23) + 1))))))) << (0 ? 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
+ 23:23) + 1))))))) << (0 ? 23:23)))));
}
if ((Hardware->identity.chipModel == gcv1000 &&
gctUINT32 pulseEater;
pulseEater = ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16)));
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16)));
gcmkONERROR(
gckOS_WriteRegisterEx(Hardware->os,
Hardware->core,
0x0010C,
((((gctUINT32) (pulseEater)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 17:17) - (0 ?
- 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17)))));
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17)))));
}
if ((gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI2) == gcvSTATUS_FALSE)
}
regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:15) - (0 ? 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ?
- 15:15))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:15) - (0 ?
- 15:15) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:15) - (0 ? 15:15) + 1))))))) << (0 ?
- 15:15)));
+ 15:15) - (0 ? 15:15) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:15) - (0 ?
+ 15:15) + 1))))))) << (0 ? 15:15))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 15:15) - (0 ? 15:15) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:15) - (0 ?
+ 15:15) + 1))))))) << (0 ? 15:15)));
}
if (_IsHardwareMatch(Hardware, gcv2000, 0x5108))
/* Set FE bus to one, TX bus to zero */
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3)));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7)));
gcmkONERROR(
/* Disable PA clock gating. */
regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4)));
}
&data));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (Hardware->maxOutstandingReads & 0xFF) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)));
gcmkONERROR(
/* Disable HZ-L2. */
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
- 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ?
- 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
- 12:12)));
+ 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ? 12:12)));
gcmkONERROR(
gckOS_WriteRegisterEx(Hardware->os,
/* Disable TX clock gating. */
regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7)));
}
/* Disable RA HZ clock gating. */
regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 17:17) - (0 ?
- 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17)));
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17)));
/* Disable RA EZ clock gating. */
regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16)));
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16)));
+
+ if ((gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_HALTI5)
+ && !gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_RA_CG_FIX)
+ )
+ )
+ {
+ if (regPMC == 0)
+ {
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ Hardware->powerBaseAddress
+ + 0x00104,
+ ®PMC));
+ }
+
+ /* Disable TX clock gating. */
+ regPMC = ((((gctUINT32) (regPMC)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ?
+ 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6)));
+ }
if (regPMC != 0)
{
/* Disable internal DFS. */
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ?
- 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 18:18) - (0 ?
- 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ?
- 18:18)));
+ 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ? 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ? 18:18)));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
Hardware->core,
/* AXI switch setup to SPLIT_TO64 mode */
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:0) - (0 ? 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) - (0 ? 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)));
gcmkONERROR(gckOS_WriteRegisterEx(
Hardware->os, Hardware->core, 0x00090, data));
if (Hardware->mmuVersion == 0)
{
/* Dispatch on memory type. */
- switch ((((((gctUINT32) (Address)) >> (0 ? 31:31)) & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1)))))) ))
+ switch ((((((gctUINT32) (Address)) >> (0 ? 31:31)) & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ? 31:31) + 1)))))) ))
{
case 0x0:
/* System memory. */
}
/* Return offset of address. */
- *Offset = (((((gctUINT32) (Address)) >> (0 ? 30:0)) & ((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1)))))) );
+ *Offset = (((((gctUINT32) (Address)) >> (0 ? 30:0)) & ((gctUINT32) ((((1 ? 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1)))))) );
}
else
{
/* Build control register. */
control = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16)))
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) ((Bytes + 7) >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
/* Set big endian */
if (Hardware->bigEndian)
{
control |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 21:20) - (0 ? 21:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:20) - (0 ? 21:20) + 1))))))) << (0 ?
- 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 21:20) - (0 ? 21:20) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 21:20) - (0 ? 21:20) + 1))))))) << (0 ? 21:20)));
+ 21:20) - (0 ? 21:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:20) - (0 ?
+ 21:20) + 1))))))) << (0 ? 21:20))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 21:20) - (0 ? 21:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:20) - (0 ?
+ 21:20) + 1))))))) << (0 ? 21:20)));
}
/* Make sure writing to command buffer and previous AHB register is done. */
/* Append WAIT(count). */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (Hardware->waitCount) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
logical++;
{
/* LoadState(AQFlush, 1), flush. */
*logical++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
}
/* Append LINK(2, address). */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*logical++ = Address;
** Pointer to the current location inside the command queue to append
** END command at or gcvNULL just to query the size of the END command.
**
+** gctUINT32 Address
+** GPU address of current location inside the command queue.
+**
** gctSIZE_T * Bytes
** Pointer to the number of bytes available for the END command. If
** 'Logical' is gcvNULL, this argument will be ignored.
gckHARDWARE_End(
IN gckHARDWARE Hardware,
IN gctPOINTER Logical,
+ IN gctUINT32 Address,
IN OUT gctUINT32 * Bytes
)
{
/* Append END. */
logical[0] =
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
/* Record the count of execution which is finised by this END. */
logical[1] =
gcmkONERROR(
gckOS_MemoryBarrier(Hardware->os, Logical));
-#if USE_KERNEL_VIRTUAL_BUFFERS
- if (!Hardware->kernel->virtualCommandBuffer)
-#endif
- {
- gcmkONERROR(gckHARDWARE_ConvertLogical(Hardware, logical, gcvFALSE, &address));
- }
+
+ gcmkASSERT(Address != ~0U);
+ address = Address;
Hardware->lastEnd = address;
}
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x0D & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ChipEnable
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ChipEnable
);
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "0x%x: CHIPENABLE 0x%x", Logical, ChipEnable);
/* Append NOP. */
logical[0] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x03 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE, "0x%x: NOP", Logical);
}
case gcvKERNEL_COMMAND:
/* From command processor. */
destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)));
break;
case gcvKERNEL_PIXEL:
/* From pixel engine. */
destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
break;
case gcvKERNEL_BLT:
destination = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7)));
break;
default:
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
}
/* Append EVENT(Event, destination). */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= ((((gctUINT32) (destination)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) ((gctUINT32) (Event) & ((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0)));
if (blt)
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
}
if (extraEventStates)
{
*logical++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0100) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++ = 0;
*logical++ = 0;
*logical++ = 0;
flush = (Pipe == gcvPIPE_2D)
? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
: ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
stall = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* LoadState(AQFlush, 1), flush. */
- logical[0]
- = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical,
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
- | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
- | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16)))
+ ));
- logical[1]
- = flush;
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 1,
+ flush
+ ));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"0x%x: FLUSH 0x%x", logical, flush);
/* LoadState(AQSempahore, 1), stall. */
- logical[2]
- = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 2,
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
- | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
- | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0)));
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0)))
+ ));
- logical[3]
- = stall;
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 3,
+ stall
+ ));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"0x%x: SEMAPHORE 0x%x", logical + 2, stall);
/* Stall, stall. */
- logical[4] = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 4,
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
- logical[5] = stall;
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ));
+
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 5,
+ stall
+ ));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"0x%x: STALL 0x%x", logical + 4, stall);
/* LoadState(AQPipeSelect, 1), pipe. */
- logical[6]
- = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 6,
+ ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
- | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
- | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16)))
+ ));
- logical[7] = (Pipe == gcvPIPE_2D)
+ gcmkONERROR(gckOS_WriteMemory(
+ Hardware->os,
+ logical + 7,
+ (Pipe == gcvPIPE_2D)
? 0x1
- : 0x0;
+ : 0x0
+ ));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"0x%x: PIPE %d", logical + 6, Pipe);
/* Append LINK(bytes / 8), FetchAddress. */
link = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (bytes >> 3) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
gcmkONERROR(
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E1A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E26) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E1B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
- *logical++
- = dataLow;
+ gcmkWRITE_MEMORY(
+ logical,
+ dataLow
+ );
}
else
{
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x5029) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502D) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16)))
);
gcmkWRITE_MEMORY(
logical,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
);
}
else
/* Return hardware specific address. */
*Address = (Hardware->mmuVersion == 0)
? ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ?
- 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
+ 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ? 31:31)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
+ 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
30:0))) | (((gctUINT32) ((gctUINT32) (address) & ((gctUINT32) ((((1 ? 30:0) - (0 ?
- 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
+ 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
30:0)))
: address;
{
/* Set system memory base address. */
*SystemBaseAddress = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ?
- 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)));
+ 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ? 31:31)));
}
/* Success. */
}
#endif
}
- while (!(((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ));
+ while (!(((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ));
/* Enable MMU. */
if (Hardware->secureMode == gcvSECURE_IN_NORMAL)
Hardware->core,
0x00388,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
));
}
else
Hardware->core,
0x0018C,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (gcvTRUE) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)))
));
}
buffer[0]
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E04) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
buffer[1]
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
gcmkONERROR(gckCOMMAND_Execute(command, 8));
}
/* LINK to next slot to flush FE FIFO. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) ((bltEngine ? 6 : 4)) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
/* Flush MMU cache. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++
- = (((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) & ((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) & ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
if (bltEngine)
{
/* Blt lock. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
}
/* Arm the PE-FE Semaphore. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
semaphore = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
if (Hardware->stallFEPrefetch)
{
semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ?
- 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 29:28) - (0 ? 29:28) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ? 29:28)));
+ 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ? 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ? 29:28)));
}
if (bltEngine)
{
semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
else
{
semaphore |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
*buffer++
/* STALL FE until PE is done flushing. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
stall = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)));
if (Hardware->stallFEPrefetch)
{
stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 29:28) - (0 ? 29:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ?
- 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 29:28) - (0 ? 29:28) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 29:28) - (0 ? 29:28) + 1))))))) << (0 ? 29:28)));
+ 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ? 29:28))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 29:28) - (0 ? 29:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 29:28) - (0 ?
+ 29:28) + 1))))))) << (0 ? 29:28)));
}
if (bltEngine)
{
stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x10 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
else
{
stall |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
*buffer++
/* Blt unlock. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x502E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
}
/* LINK to next slot to flush FE FIFO. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (count) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
if (ace)
{
configEx = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (extSafeAddrss) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (extMtlb) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (extMtlb) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)));
}
switch (Mode)
}
config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
break;
}
config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
break;
/* Setup command buffer to load index 0 of page table array. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x006B) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++
- = (((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
- 15:0))) &((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0))) &((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 16:16) - (0 ?
+ 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
16:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))));
+ ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ? 16:16))));
}
else
{
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++ = config;
}
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++ = address;
{
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0068) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++
= configEx;
}
do{*buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
;
/* LoadState(AQPipeSelect, 1), pipe. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++ = 0x1;
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++ = config;
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0060) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++ = address;
{
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0068) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++
= configEx;
}
do{*buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
;
/* LoadState(AQPipeSelect, 1), pipe. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E00) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++ = 0x0;
do{*buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))); *buffer++ = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0))) | ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));} while(0);
;
}
gcmkSAFECASTPHYSADDRT(config, physical);
config |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
if (stCmds)
{
/* Arm the PE-FE Semaphore. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* STALL FE until PE is done flushing. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
/* Flush cache. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ? ~0 : (~(~0 << ((1 ?
+ AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_VSHL1_CACHE))) | (((gctUINT32) (AQ_FLUSH_VSHL1_CACHE_ENABLE & ((gctUINT32) ((((1 ?
- AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ? ~0 : (~(~0 << ((1 ?
+ AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
AQ_FLUSH_VSHL1_CACHE) - (0 ? AQ_FLUSH_VSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_VSHL1_CACHE)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ? ~0 : (~(~0 << ((1 ?
+ AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_PSHL1_CACHE))) | (((gctUINT32) (AQ_FLUSH_PSHL1_CACHE_ENABLE & ((gctUINT32) ((((1 ?
- AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ? ~0 : (~(~0 << ((1 ?
+ AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1) == 32) ? ~0U : (~(~0U << ((1 ?
AQ_FLUSH_PSHL1_CACHE) - (0 ? AQ_FLUSH_PSHL1_CACHE) + 1))))))) << (0 ? AQ_FLUSH_PSHL1_CACHE)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
/* Flush VTS in separate command */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
/* Flush tile status cache. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
/* Arm the PE-FE Semaphore. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* STALL FE until PE is done flushing. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* LINK to next slot to flush FE FIFO. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
/* Configure MMU. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++
- = (((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ = (((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) & ((((gctUINT32) (~0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4))) & ((((gctUINT32) (~0U)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))));
/* Arm the PE-FE Semaphore. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* STALL FE until PE is done flushing. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* LINK to next slot to flush FE FIFO. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x08 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0061) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*buffer++
= config;
/* Arm the PE-FE Semaphore. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* STALL FE until PE is done flushing. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* Event 29. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E01) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
event = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
event = ((((gctUINT32) (event)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) ((gctUINT32) (29) & ((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0)));
*buffer++
/* Append END. */
*buffer++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x02 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
}
if (Bytes != gcvNULL)
/* Build virtual address. */
*Address = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:31) - (0 ? 31:31) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ?
- 31:31))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 31:31) - (0 ? 31:31) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:31) - (0 ? 31:31) + 1))))))) << (0 ? 31:31)))
+ 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ? 31:31))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 31:31) - (0 ? 31:31) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:31) - (0 ?
+ 31:31) + 1))))))) << (0 ? 31:31)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
+ 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
30:0))) | (((gctUINT32) ((gctUINT32) (Offset | (Index << 12)) & ((gctUINT32) ((((1 ?
- 30:0) - (0 ? 30:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
+ 30:0) - (0 ? 30:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 30:0) - (0 ? 30:0) + 1))))))) << (0 ?
30:0)));
/* Success. */
/* Wait a little while until CModel FE gets END.
* END is supposed to be appended by caller.
*/
- gckOS_Delay(gcvNULL, 100);
+ gckOS_Delay(Hardware->os, 100);
#endif
/* Success. */
if ((Flush & gcvFLUSH_COLOR) && (pipe == 0x0))
{
flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
+ ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ? 1:1)));
}
/* Flush 3D depth cache. */
if ((Flush & gcvFLUSH_DEPTH) && (pipe == 0x0))
{
flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
}
/* Flush 3D texture cache. */
if ((Flush & gcvFLUSH_TEXTURE) && (pipe == 0x0))
{
flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
+ ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ? 2:2)));
flushVST = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
+ ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ? 4:4)));
}
/* Flush 2D cache. */
if ((Flush & gcvFLUSH_2D) && (pipe == 0x1))
{
flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
+ ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ? 3:3)));
}
/* Flush L2 cache. */
if ((Flush & gcvFLUSH_L2) && (pipe == 0x0))
{
flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
+ ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ? 6:6)));
}
/* Vertex buffer and texture could be touched by SHL1 for SSBO and image load/store */
if ((Flush & (gcvFLUSH_VERTEX | gcvFLUSH_TEXTURE)) && (pipe == 0x0))
{
flush |= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 10:10) - (0 ? 10:10) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 10:10) - (0 ? 10:10) + 1))))))) << (0 ?
- 10:10))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 10:10) - (0 ? 10:10) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 10:10) - (0 ? 10:10) + 1))))))) << (0 ? 10:10)))
+ 10:10) - (0 ? 10:10) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 10:10) - (0 ?
+ 10:10) + 1))))))) << (0 ? 10:10))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 10:10) - (0 ? 10:10) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 10:10) - (0 ?
+ 10:10) + 1))))))) << (0 ? 10:10)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 11:11) - (0 ? 11:11) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ? 11:11)));
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11)));
}
/* See if there is a valid flush. */
/* Semaphore. */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* Stall. */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
if (flush)
/* Append LOAD_STATE to AQFlush. */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++ = flush;
/* Append LOAD_STATE to AQFlush. */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++ = flushVST;
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0594) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
+ ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ? 0:0)));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"0x%x: FLUSH TILE STATUS 0x%x", logical - 1, logical[-1]);
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x022C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4)));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x5311) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:28) - (0 ? 31:28) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ?
- 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 31:28) - (0 ? 31:28) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:28) - (0 ? 31:28) + 1))))))) << (0 ? 31:28)));
+ 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ? 31:28))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 31:28) - (0 ? 31:28) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:28) - (0 ?
+ 31:28) + 1))))))) << (0 ? 31:28)));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"0x%x: FLUSH Icache 0x%x", logical - 1, logical[-1]);
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x7003) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= 0x12345678;
/* Semaphore. */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
/* Stall. */
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)));
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)));
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:0) - (0 ? 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) - (0 ? 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8)));
}
if (Bytes != gcvNULL)
/* Set fast clear bypass. */
debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ?
- 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ?
- 20:20)));
+ 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (Enable == 0) & ((gctUINT32) ((((1 ?
+ 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ? 20:20)));
if (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_BUG_FIXES7) ||
(Hardware->identity.chipModel >= gcv4000))
{
/* Set compression bypass. */
debug = ((((gctUINT32) (debug)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1))))))) << (0 ?
- 21:21))) | (((gctUINT32) ((gctUINT32) (Compression == 0) & ((gctUINT32) ((((1 ?
- 21:21) - (0 ? 21:21) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 21:21) - (0 ? 21:21) + 1))))))) << (0 ?
- 21:21)));
+ 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
+ 21:21) + 1))))))) << (0 ? 21:21))) | (((gctUINT32) ((gctUINT32) (Compression == 0) & ((gctUINT32) ((((1 ?
+ 21:21) - (0 ? 21:21) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 21:21) - (0 ?
+ 21:21) + 1))))))) << (0 ? 21:21)));
}
/* Write back AQMemoryDebug register. */
{
/* gcvPOWER_ON */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (64) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))),
/* gcvPOWER_OFF */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))),
/* gcvPOWER_IDLE */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))),
/* gcvPOWER_SUSPEND */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))),
};
if (State == gcvPOWER_ON)
{
clock = ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (Hardware->powerOnFscaleVal) & ((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2)));
}
#endif
#else
/* Clock should be on when switch power from off to suspend */
clock = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:2) - (0 ?
- 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) |
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) ;
#endif
}
Hardware->core,
0x00000,
((((gctUINT32) (clocks[0])) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9)))));
}
}
Hardware->core,
0x00000,
((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9)))));
}
&data));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)));
Hardware->powerBaseAddress
+ 0x00104,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:6) - (0 ?
- 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
+ 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1))))))) << (0 ?
6:6)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) - (0 ? 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 11:11) - (0 ?
- 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11)))));
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11)))));
clock = ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2))) | (((gctUINT32) ((gctUINT32) (FscaleValue) & ((gctUINT32) ((((1 ?
- 8:2) - (0 ? 8:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
+ 8:2) - (0 ? 8:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:2) - (0 ? 8:2) + 1))))))) << (0 ?
8:2)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9)));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
Hardware->core,
0x00000,
((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9)))));
/* Restore all clock gating. */
gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00004, &idle));
/* Pipe must be idle. */
- if (((((((gctUINT32) (idle)) >> (0 ? 1:1)) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1)))))) ) != 1)
- || ((((((gctUINT32) (idle)) >> (0 ? 3:3)) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1)))))) ) != 1)
- || ((((((gctUINT32) (idle)) >> (0 ? 4:4)) & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1)))))) ) != 1)
- || ((((((gctUINT32) (idle)) >> (0 ? 5:5)) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1)))))) ) != 1)
- || ((((((gctUINT32) (idle)) >> (0 ? 6:6)) & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:6) - (0 ? 6:6) + 1)))))) ) != 1)
- || ((((((gctUINT32) (idle)) >> (0 ? 7:7)) & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1)))))) ) != 1)
- || ((((((gctUINT32) (idle)) >> (0 ? 2:2)) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1)))))) ) != 1)
+ if (((((((gctUINT32) (idle)) >> (0 ? 1:1)) & ((gctUINT32) ((((1 ? 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1)))))) ) != 1)
+ || ((((((gctUINT32) (idle)) >> (0 ? 3:3)) & ((gctUINT32) ((((1 ? 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1)))))) ) != 1)
+ || ((((((gctUINT32) (idle)) >> (0 ? 4:4)) & ((gctUINT32) ((((1 ? 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1)))))) ) != 1)
+ || ((((((gctUINT32) (idle)) >> (0 ? 5:5)) & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1)))))) ) != 1)
+ || ((((((gctUINT32) (idle)) >> (0 ? 6:6)) & ((gctUINT32) ((((1 ? 6:6) - (0 ? 6:6) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:6) - (0 ? 6:6) + 1)))))) ) != 1)
+ || ((((((gctUINT32) (idle)) >> (0 ? 7:7)) & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1)))))) ) != 1)
+ || ((((((gctUINT32) (idle)) >> (0 ? 2:2)) & ((gctUINT32) ((((1 ? 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1)))))) ) != 1)
)
{
/* Something is busy. */
GC_DEBUG_SIGNALS_##block##_Address, \
&profiler->data))
+#define gcmkREAD_DEBUG_REGISTER_PART1(control, block, index, data) \
+ gcmkONERROR(\
+ gckOS_WriteRegisterEx(Hardware->os, \
+ Hardware->core, \
+ GC_DEBUG_CONTROL##control##_Address, \
+ gcmSETFIELD(0, \
+ GC_DEBUG_CONTROL##control, \
+ block, \
+ index))); \
+ gcmkONERROR(\
+ gckOS_ReadRegisterEx(Hardware->os, \
+ Hardware->core, \
+ GC_DEBUG_SIGNALS_##block##_Address, \
+ &profiler_part1->data))
+
+#define gcmkREAD_DEBUG_REGISTER_PART2(control, block, index, data) \
+ gcmkONERROR(\
+ gckOS_WriteRegisterEx(Hardware->os, \
+ Hardware->core, \
+ GC_DEBUG_CONTROL##control##_Address, \
+ gcmSETFIELD(0, \
+ GC_DEBUG_CONTROL##control, \
+ block, \
+ index))); \
+ gcmkONERROR(\
+ gckOS_ReadRegisterEx(Hardware->os, \
+ Hardware->core, \
+ GC_DEBUG_SIGNALS_##block##_Address, \
+ &profiler_part2->data))
#if USE_SW_RESET
#define gcmkREAD_DEBUG_REGISTER_Q(control, block, index, data) \
gcmkREAD_DEBUG_REGISTER(control, block, index, data); \
/* Read pixels rendered by 2D engine. */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &profiler->pixelsRendered));
/* Reset counter. */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
}
profiler->counterName = CalcDelta(temp, Context->preCounters.counterName); \
Context->preCounters.counterName = temp
+#define gcmkRESET_PROFILE_DATA_PART1(counterName, preCounters) \
+ temp = profiler_part1->counterName; \
+ profiler_part1->counterName = CalcDelta(temp, Context->preCounters.counterName); \
+ Context->preCounters.counterName = temp
#endif
gceSTATUS
Hardware->core,
0x00000,
((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ?
- 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20)))));
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20)))));
/* BW */
gcmkONERROR(
/* PE */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&colorKilled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&depthKilled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&colorDrawn));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&depthDrawn));
#if USE_SW_RESET
gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00078, 0));
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
#endif
/* SH */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->ps_inst_counter)); tempCounterValue = profiler->ps_inst_counter;
profiler->ps_inst_counter = CalcDelta(profiler->ps_inst_counter, profilerHistory.ps_inst_counter);
profilerHistory.ps_inst_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->rendered_pixel_counter)); tempCounterValue = profiler->rendered_pixel_counter;
profiler->rendered_pixel_counter = CalcDelta(profiler->rendered_pixel_counter,
profilerHistory.rendered_pixel_counter); profilerHistory.rendered_pixel_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vs_inst_counter)); tempCounterValue = profiler->vs_inst_counter;
profiler->vs_inst_counter = CalcDelta(profiler->vs_inst_counter, profilerHistory.vs_inst_counter);
profilerHistory.vs_inst_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->rendered_vertice_counter)); tempCounterValue = profiler->rendered_vertice_counter;
profiler->rendered_vertice_counter = CalcDelta(profiler->rendered_vertice_counter,
profilerHistory.rendered_vertice_counter); profilerHistory.rendered_vertice_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vtx_branch_inst_counter)); tempCounterValue = profiler->vtx_branch_inst_counter;
profiler->vtx_branch_inst_counter = CalcDelta(profiler->vtx_branch_inst_counter,
profilerHistory.vtx_branch_inst_counter); profilerHistory.vtx_branch_inst_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vtx_texld_inst_counter)); tempCounterValue = profiler->vtx_texld_inst_counter;
profiler->vtx_texld_inst_counter = CalcDelta(profiler->vtx_texld_inst_counter,
profilerHistory.vtx_texld_inst_counter); profilerHistory.vtx_texld_inst_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->pxl_branch_inst_counter)); tempCounterValue = profiler->pxl_branch_inst_counter;
profiler->pxl_branch_inst_counter = CalcDelta(profiler->pxl_branch_inst_counter,
profilerHistory.pxl_branch_inst_counter); profilerHistory.pxl_branch_inst_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->pxl_texld_inst_counter)); tempCounterValue = profiler->pxl_texld_inst_counter;
profiler->pxl_texld_inst_counter = CalcDelta(profiler->pxl_texld_inst_counter,
profilerHistory.pxl_texld_inst_counter); profilerHistory.pxl_texld_inst_counter = tempCounterValue;
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vs_non_idle_starve_count)); tempCounterValue = profiler->vs_non_idle_starve_count;
profiler->vs_non_idle_starve_count = CalcDelta(profiler->vs_non_idle_starve_count,
profilerHistory.vs_non_idle_starve_count); profilerHistory.vs_non_idle_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vs_starve_count)); tempCounterValue = profiler->vs_starve_count;
profiler->vs_starve_count = CalcDelta(profiler->vs_starve_count, profilerHistory.vs_starve_count);
profilerHistory.vs_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vs_stall_count)); tempCounterValue = profiler->vs_stall_count;
profiler->vs_stall_count = CalcDelta(profiler->vs_stall_count, profilerHistory.vs_stall_count);
profilerHistory.vs_stall_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->vs_process_count)); tempCounterValue = profiler->vs_process_count;
profiler->vs_process_count = CalcDelta(profiler->vs_process_count, profilerHistory.vs_process_count);
profilerHistory.vs_process_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->ps_non_idle_starve_count)); tempCounterValue = profiler->ps_non_idle_starve_count;
profiler->ps_non_idle_starve_count = CalcDelta(profiler->ps_non_idle_starve_count,
profilerHistory.ps_non_idle_starve_count); profilerHistory.ps_non_idle_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->ps_starve_count)); tempCounterValue = profiler->ps_starve_count;
profiler->ps_starve_count = CalcDelta(profiler->ps_starve_count, profilerHistory.ps_starve_count);
profilerHistory.ps_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->ps_stall_count)); tempCounterValue = profiler->ps_stall_count;
profiler->ps_stall_count = CalcDelta(profiler->ps_stall_count, profilerHistory.ps_stall_count);
profilerHistory.ps_stall_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->ps_process_count)); tempCounterValue = profiler->ps_process_count;
profiler->ps_process_count = CalcDelta(profiler->ps_process_count, profilerHistory.ps_process_count);
profilerHistory.ps_process_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->shader_cycle_count)); tempCounterValue = profiler->shader_cycle_count;
profiler->shader_cycle_count = CalcDelta(profiler->shader_cycle_count,
profilerHistory.shader_cycle_count); profilerHistory.shader_cycle_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->tx_non_idle_starve_count)); tempCounterValue = profiler->tx_non_idle_starve_count;
profiler->tx_non_idle_starve_count = CalcDelta(profiler->tx_non_idle_starve_count,
profilerHistory.tx_non_idle_starve_count); profilerHistory.tx_non_idle_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->tx_starve_count)); tempCounterValue = profiler->tx_starve_count;
profiler->tx_starve_count = CalcDelta(profiler->tx_starve_count, profilerHistory.tx_starve_count);
profilerHistory.tx_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->tx_stall_count)); tempCounterValue = profiler->tx_stall_count;
profiler->tx_stall_count = CalcDelta(profiler->tx_stall_count, profilerHistory.tx_stall_count);
profilerHistory.tx_stall_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C,
&profiler->tx_process_count)); tempCounterValue = profiler->tx_process_count;
profiler->tx_process_count = CalcDelta(profiler->tx_process_count, profilerHistory.tx_process_count);
profilerHistory.tx_process_count = tempCounterValue;
}
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
));
#endif
/* PA */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_input_vtx_counter)); tempCounterValue = profiler->pa_input_vtx_counter;
profiler->pa_input_vtx_counter = CalcDelta(profiler->pa_input_vtx_counter,
profilerHistory.pa_input_vtx_counter); profilerHistory.pa_input_vtx_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_input_prim_counter)); tempCounterValue = profiler->pa_input_prim_counter;
profiler->pa_input_prim_counter = CalcDelta(profiler->pa_input_prim_counter,
profilerHistory.pa_input_prim_counter); profilerHistory.pa_input_prim_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_output_prim_counter)); tempCounterValue = profiler->pa_output_prim_counter;
profiler->pa_output_prim_counter = CalcDelta(profiler->pa_output_prim_counter,
profilerHistory.pa_output_prim_counter); profilerHistory.pa_output_prim_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_depth_clipped_counter)); tempCounterValue = profiler->pa_depth_clipped_counter;
profiler->pa_depth_clipped_counter = CalcDelta(profiler->pa_depth_clipped_counter,
profilerHistory.pa_depth_clipped_counter); profilerHistory.pa_depth_clipped_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_trivial_rejected_counter)); tempCounterValue = profiler->pa_trivial_rejected_counter;
profiler->pa_trivial_rejected_counter = CalcDelta(profiler->pa_trivial_rejected_counter,
profilerHistory.pa_trivial_rejected_counter); profilerHistory.pa_trivial_rejected_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_culled_counter)); tempCounterValue = profiler->pa_culled_counter;
profiler->pa_culled_counter = CalcDelta(profiler->pa_culled_counter, profilerHistory.pa_culled_counter);
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_starve_count)); tempCounterValue = profiler->pa_starve_count;
profiler->pa_starve_count = CalcDelta(profiler->pa_starve_count, profilerHistory.pa_starve_count);
profilerHistory.pa_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_stall_count)); tempCounterValue = profiler->pa_stall_count;
profiler->pa_stall_count = CalcDelta(profiler->pa_stall_count, profilerHistory.pa_stall_count);
profilerHistory.pa_stall_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_process_count)); tempCounterValue = profiler->pa_process_count;
profiler->pa_process_count = CalcDelta(profiler->pa_process_count, profilerHistory.pa_process_count);
profilerHistory.pa_process_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460,
&profiler->pa_non_idle_starve_count)); tempCounterValue = profiler->pa_non_idle_starve_count;
profiler->pa_non_idle_starve_count = CalcDelta(profiler->pa_non_idle_starve_count,
}
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
#endif
/* SE */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_triangle_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_lines_count));
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_receive_triangle_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_send_triangle_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_receive_lines_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_send_lines_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_process_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_non_idle_starve_count));
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))
));
/* RA */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_valid_pixel_count)); tempCounterValue = profiler->ra_valid_pixel_count;
profiler->ra_valid_pixel_count = CalcDelta(profiler->ra_valid_pixel_count,
profilerHistory.ra_valid_pixel_count); profilerHistory.ra_valid_pixel_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_total_quad_count)); tempCounterValue = profiler->ra_total_quad_count;
profiler->ra_total_quad_count = CalcDelta(profiler->ra_total_quad_count,
profilerHistory.ra_total_quad_count); profilerHistory.ra_total_quad_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_valid_quad_count_after_early_z)); tempCounterValue = profiler->ra_valid_quad_count_after_early_z;
profiler->ra_valid_quad_count_after_early_z = CalcDelta(profiler->ra_valid_quad_count_after_early_z,
profilerHistory.ra_valid_quad_count_after_early_z); profilerHistory.ra_valid_quad_count_after_early_z = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_total_primitive_count)); tempCounterValue = profiler->ra_total_primitive_count;
profiler->ra_total_primitive_count = CalcDelta(profiler->ra_total_primitive_count,
profilerHistory.ra_total_primitive_count); profilerHistory.ra_total_primitive_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_pipe_cache_miss_counter)); tempCounterValue = profiler->ra_pipe_cache_miss_counter;
profiler->ra_pipe_cache_miss_counter = CalcDelta(profiler->ra_pipe_cache_miss_counter,
profilerHistory.ra_pipe_cache_miss_counter); profilerHistory.ra_pipe_cache_miss_counter = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_prefetch_cache_miss_counter)); tempCounterValue = profiler->ra_prefetch_cache_miss_counter;
profiler->ra_prefetch_cache_miss_counter = CalcDelta(profiler->ra_prefetch_cache_miss_counter,
profilerHistory.ra_prefetch_cache_miss_counter); profilerHistory.ra_prefetch_cache_miss_counter = tempCounterValue;
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_non_idle_starve_count)); tempCounterValue = profiler->ra_non_idle_starve_count;
profiler->ra_non_idle_starve_count = CalcDelta(profiler->ra_non_idle_starve_count,
profilerHistory.ra_non_idle_starve_count); profilerHistory.ra_non_idle_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_starve_count)); tempCounterValue = profiler->ra_starve_count;
profiler->ra_starve_count = CalcDelta(profiler->ra_starve_count, profilerHistory.ra_starve_count);
profilerHistory.ra_starve_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_stall_count)); tempCounterValue = profiler->ra_stall_count;
profiler->ra_stall_count = CalcDelta(profiler->ra_stall_count, profilerHistory.ra_stall_count);
profilerHistory.ra_stall_count = tempCounterValue;
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448,
&profiler->ra_process_count)); tempCounterValue = profiler->ra_process_count;
profiler->ra_process_count = CalcDelta(profiler->ra_process_count, profilerHistory.ra_process_count);
profilerHistory.ra_process_count = tempCounterValue;
}
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
#endif
/* TX */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_bilinear_requests));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_trilinear_requests));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_discarded_texture_requests));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_texture_requests));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_in_8B_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_hit_texel_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_texel_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
));
/* MC */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_pipeline));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_IP));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_write_req_8B_from_pipeline));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
/* HI */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_read_request_stalled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_request_stalled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_data_stalled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))
));
/* FE */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_draw_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_out_vertex_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
}
#define gcmkUPDATE_PROFILE_DATA(data) \
profilerHistroy->data += profiler->data
+#define gcmkUPDATE_PROFILE_DATA_PART1(data) \
+ profilerHistroy_part1->data += profiler_part1->data
+#define gcmkUPDATE_PROFILE_DATA_PART2(data) \
+ profilerHistroy_part2->data += profiler_part2->data
+
gceSTATUS
gckHARDWARE_QueryContextProfile(
IN gckHARDWARE Hardware,
Hardware->core,
0x00000,
((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ?
- 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20)))));
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20)))));
/* BW */
gcmkONERROR(
/* PE */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&colorKilled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&depthKilled));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&colorDrawn));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
&depthDrawn));
profiler->pe_pixel_count_killed_by_color_pipe += colorKilled;
gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00078, 0));
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
#endif
/* SH */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_inst_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->rendered_pixel_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_inst_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->rendered_vertice_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vtx_branch_inst_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vtx_texld_inst_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->pxl_branch_inst_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->pxl_texld_inst_counter));
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_non_idle_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->vs_process_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_non_idle_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->ps_process_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->shader_cycle_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->tx_non_idle_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->tx_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->tx_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->tx_process_count));
}
#if USE_SW_RESET
}
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
));
#endif
/* PA */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_input_vtx_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_input_prim_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_output_prim_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_depth_clipped_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_trivial_rejected_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_culled_counter));
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_non_idle_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->pa_process_count));
}
}
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
#endif
/* SE */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_triangle_count));
gcmkUPDATE_PROFILE_DATA(se_culled_triangle_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_culled_lines_count));
gcmkUPDATE_PROFILE_DATA(se_culled_lines_count);
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_starve_count));
gcmkUPDATE_PROFILE_DATA(se_starve_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_stall_count));
gcmkUPDATE_PROFILE_DATA(se_stall_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_receive_triangle_count));
gcmkUPDATE_PROFILE_DATA(se_receive_triangle_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_send_triangle_count));
gcmkUPDATE_PROFILE_DATA(se_send_triangle_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_receive_lines_count));
gcmkUPDATE_PROFILE_DATA(se_receive_lines_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_send_lines_count));
gcmkUPDATE_PROFILE_DATA(se_send_lines_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_process_count));
gcmkUPDATE_PROFILE_DATA(se_process_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->se_non_idle_starve_count));
gcmkUPDATE_PROFILE_DATA(se_non_idle_starve_count);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))
));
/* RA */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_valid_pixel_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_total_quad_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_valid_quad_count_after_early_z));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_total_primitive_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_pipe_cache_miss_counter));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_prefetch_cache_miss_counter));
if (hasNewCounters)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_non_idle_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_starve_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_stall_count));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->ra_process_count));
}
#if USE_SW_RESET
}
#if !USE_SW_RESET
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
#endif
/* TX */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_bilinear_requests));
gcmkUPDATE_PROFILE_DATA(tx_total_bilinear_requests);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_trilinear_requests));
gcmkUPDATE_PROFILE_DATA(tx_total_trilinear_requests);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_discarded_texture_requests));
gcmkUPDATE_PROFILE_DATA(tx_total_discarded_texture_requests);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_total_texture_requests));
gcmkUPDATE_PROFILE_DATA(tx_total_texture_requests);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_count));
gcmkUPDATE_PROFILE_DATA(tx_mem_read_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_mem_read_in_8B_count));
gcmkUPDATE_PROFILE_DATA(tx_mem_read_in_8B_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_count));
gcmkUPDATE_PROFILE_DATA(tx_cache_miss_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_hit_texel_count));
gcmkUPDATE_PROFILE_DATA(tx_cache_hit_texel_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->tx_cache_miss_texel_count));
gcmkUPDATE_PROFILE_DATA(tx_cache_miss_texel_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
));
/* MC */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_pipeline));
gcmkUPDATE_PROFILE_DATA(mc_total_read_req_8B_from_pipeline);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_read_req_8B_from_IP));
gcmkUPDATE_PROFILE_DATA(mc_total_read_req_8B_from_IP);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mc_total_write_req_8B_from_pipeline));
gcmkUPDATE_PROFILE_DATA(mc_total_write_req_8B_from_pipeline);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
/* FE */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_draw_count));
gcmkUPDATE_PROFILE_DATA(fe_draw_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_out_vertex_count));
gcmkUPDATE_PROFILE_DATA(fe_draw_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_stall_count));
gcmkUPDATE_PROFILE_DATA(fe_draw_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->fe_starve_count));
gcmkUPDATE_PROFILE_DATA(fe_draw_count);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
}
/* HI */
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_read_request_stalled));
gcmkUPDATE_PROFILE_DATA(hi_axi_cycles_read_request_stalled);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_request_stalled));
gcmkUPDATE_PROFILE_DATA(hi_axi_cycles_write_request_stalled);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hi_axi_cycles_write_data_stalled));
gcmkUPDATE_PROFILE_DATA(hi_axi_cycles_write_data_stalled);
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))
));
}
Hardware->core,
0x00000,
((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ?
- 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20)))));
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20)))));
/* BW */
gcmkONERROR(
for (i = 0; i < MODULE_FRONT_END_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler->feCounters[i]));
gcmkUPDATE_PROFILE_DATA(feCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
for (i = 0; i < MODULE_FRONT_END_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler->paCounters[i]));
gcmkUPDATE_PROFILE_DATA(paCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
for (i = 0; i < MODULE_SHADER_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler->shCounters[i]));
gcmkUPDATE_PROFILE_DATA(shCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
));
/* SE */
for (i = 0; i < MODULE_SETUP_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler->seCounters[i]));
gcmkUPDATE_PROFILE_DATA(seCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))
));
for (i = 0; i < MODULE_RASTERIZER_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler->raCounters[i]));
gcmkUPDATE_PROFILE_DATA(raCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
/* TX */
for (i = 0; i < MODULE_TEXTURE_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler->txCounters[i]));
gcmkUPDATE_PROFILE_DATA(txCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) ));
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
));
/* PE */
for (i = 0; i < MODULE_PIXEL_ENGINE_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454, &profiler->peCounters[i]));
gcmkUPDATE_PROFILE_DATA(peCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) ));
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:16) - (0 ? 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
- 23:16)))
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
));
/* MC */
for (i = 0; i < MODULE_MEMORY_CONTROLLER_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler->mcCounters[i]));
gcmkUPDATE_PROFILE_DATA(mcCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:0) - (0 ? 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
- 7:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
7:0)))
));
for (i = 0; i < MODULE_HOST_INTERFACE_COUNTER_NUM; i++)
{
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler->hiCounters[i]));
gcmkUPDATE_PROFILE_DATA(hiCounters[i]);
}
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) ));
gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))
));
}
#endif
-
gceSTATUS
-gckHARDWARE_InitProfiler(
- IN gckHARDWARE Hardware
- )
+gckHARDWARE_QueryContextNewProfile(
+ IN gckHARDWARE Hardware,
+ IN gctBOOL Reset,
+ IN gckCONTEXT Context,
+ OUT gcsPROFILER_NEW_COUNTERS_PART1 * Counters_part1,
+ OUT gcsPROFILER_NEW_COUNTERS_PART2 * Counters_part2
+)
{
gceSTATUS status;
- gctUINT32 control;
+ gckCOMMAND command = Hardware->kernel->command;
+ gcsPROFILER_NEW_COUNTERS_PART1 * profiler_part1 = Counters_part1;
+ gcsPROFILER_NEW_COUNTERS_PART2 * profiler_part2 = Counters_part2;
- gcmkHEADER_ARG("Hardware=0x%x", Hardware);
- gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
- Hardware->core,
- 0x00000,
- &control));
- /* Enable debug register. */
- gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
- Hardware->core,
- 0x00000,
- ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 11:11) - (0 ? 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 11:11) - (0 ?
- 11:11) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:11) - (0 ? 11:11) + 1))))))) << (0 ?
- 11:11)))));
+ gcmkHEADER_ARG("Hardware=0x%x Counters_part1=0x%x, Counters_part2=0x%x", Hardware, Counters_part1, Counters_part2);
-OnError:
+ /* Verify the arguments. */
+ gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+
+ /* Acquire the context sequnence mutex. */
+ gcmkONERROR(gckOS_AcquireMutex(
+ command->os, command->mutexContextSeq, gcvINFINITE
+ ));
+
+ /* Read the counters. */
+ if (Counters_part1)
+ {
+ gcmkVERIFY_OK(gckOS_MemCopy(
+ profiler_part1, &Context->histroyNewProfiler_part1, gcmSIZEOF(gcsPROFILER_NEW_COUNTERS_PART1)
+ ));
+ }
+ else if (Counters_part2)
+ {
+ gcmkVERIFY_OK(gckOS_MemCopy(
+ profiler_part2, &Context->histroyNewProfiler_part2, gcmSIZEOF(gcsPROFILER_NEW_COUNTERS_PART2)
+ ));
+ }
+
+ /* Reset counters. */
+ if (Reset)
+ {
+ if (Counters_part1)
+ {
+ gcmkVERIFY_OK(gckOS_ZeroMemory(
+ &Context->histroyNewProfiler_part1, gcmSIZEOF(gcsPROFILER_NEW_COUNTERS_PART1)
+ ));
+ }
+ else if (Counters_part2)
+ {
+ gcmkVERIFY_OK(gckOS_ZeroMemory(
+ &Context->histroyNewProfiler_part2, gcmSIZEOF(gcsPROFILER_NEW_COUNTERS_PART2)
+ ));
+ }
+ }
+
+ gcmkVERIFY_OK(gckOS_ReleaseMutex(
+ command->os, command->mutexContextSeq
+ ));
+
+ /* Success. */
+ gcmkFOOTER_NO();
+ return gcvSTATUS_OK;
+
+OnError:
+ /* Return the status. */
+ gcmkFOOTER();
+ return status;
+}
+
+gceSTATUS
+gckHARDWARE_UpdateContextNewProfile(
+ IN gckHARDWARE Hardware,
+ IN gckCONTEXT Context
+)
+{
+ gceSTATUS status;
+ gcsPROFILER_NEW_COUNTERS_PART1 * profiler_part1 = &Context->latestNewProfiler_part1;
+ gcsPROFILER_NEW_COUNTERS_PART1 * profilerHistroy_part1 = &Context->histroyNewProfiler_part1;
+ gcsPROFILER_NEW_COUNTERS_PART2 * profiler_part2 = &Context->latestNewProfiler_part2;
+ gcsPROFILER_NEW_COUNTERS_PART2 * profilerHistroy_part2 = &Context->histroyNewProfiler_part2;
+ gceCHIPMODEL chipModel;
+ gctUINT32 chipRevision;
+ gctUINT32 i;
+ gctUINT32 resetValue = 0xF;
+ gctBOOL hasNewCounters = gcvFALSE;
+ gctUINT32 clock;
+ gctUINT32 colorKilled = 0, colorDrawn = 0, depthKilled = 0, depthDrawn = 0;
+ gctUINT32 totalRead, totalWrite;
+ gctUINT32 mc_axi_max_min_latency;
+ gctUINT32 temp;
+
+ gcmkHEADER_ARG("Hardware=0x%x Context=0x%x", Hardware, Context);
+
+ /* Verify the arguments. */
+ gcmkVERIFY_OBJECT(Hardware, gcvOBJ_HARDWARE);
+ gcmkVERIFY_OBJECT(Context, gcvOBJ_CONTEXT);
+
+ chipModel = Hardware->identity.chipModel;
+ chipRevision = Hardware->identity.chipRevision;
+ if ((chipModel == gcv5000 && chipRevision == 0x5434) || (chipModel == gcv3000 && chipRevision == 0x5435))
+ {
+ resetValue = 0xFF;
+ hasNewCounters = gcvTRUE;
+ }
+
+ if (chipModel == gcv2100 || chipModel == gcv2000 || chipModel == gcv880)
+ {
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00438,
+ &profiler_part2->hi_total_cycle_count));
+
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00078,
+ &profiler_part2->hi_total_idle_cycle_count));
+ }
+ else
+ {
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00078,
+ &profiler_part2->hi_total_cycle_count));
+
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x0007C,
+ &profiler_part2->hi_total_idle_cycle_count));
+ }
+ gcmkUPDATE_PROFILE_DATA_PART2(hi_total_cycle_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(hi_total_idle_cycle_count);
+
+ /* Read clock control register. */
+ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ &clock));
+
+ profiler_part2->hi_total_read_8B_count = 0;
+ profiler_part2->hi_total_write_8B_count = 0;
+ profiler_part1->pe0_pixel_count_drawn_by_color_pipe = 0;
+ profiler_part1->pe0_pixel_count_drawn_by_depth_pipe = 0;
+ profiler_part1->pe0_pixel_count_killed_by_color_pipe = 0;
+ profiler_part1->pe0_pixel_count_killed_by_depth_pipe = 0;
+ profiler_part1->pe1_pixel_count_drawn_by_color_pipe = 0;
+ profiler_part1->pe1_pixel_count_drawn_by_depth_pipe = 0;
+ profiler_part1->pe1_pixel_count_killed_by_color_pipe = 0;
+ profiler_part1->pe1_pixel_count_killed_by_depth_pipe = 0;
+
+ /* Walk through all avaiable pixel pipes. */
+ for (i = 0; i < Hardware->identity.pixelPipes; ++i)
+ {
+ /* Select proper pipe. */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20)))));
+
+ /* BW */
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00040,
+ &totalRead));
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00044,
+ &totalWrite));
+
+ profiler_part2->hi_total_read_8B_count += totalRead;
+ profiler_part2->hi_total_write_8B_count += totalWrite;
+
+ /* PE */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ &colorKilled));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ &depthKilled));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ &colorDrawn));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))));gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00454,
+ &depthDrawn));
+
+ if (i == 0)
+ {
+ profiler_part1->pe0_pixel_count_killed_by_color_pipe = colorKilled;
+ profiler_part1->pe0_pixel_count_killed_by_depth_pipe = depthKilled;
+ profiler_part1->pe0_pixel_count_drawn_by_color_pipe = colorDrawn;
+ profiler_part1->pe0_pixel_count_drawn_by_depth_pipe = depthDrawn;
+ }
+ else if (i == 1)
+ {
+ profiler_part1->pe1_pixel_count_killed_by_color_pipe = colorKilled;
+ profiler_part1->pe1_pixel_count_killed_by_depth_pipe = depthKilled;
+ profiler_part1->pe1_pixel_count_drawn_by_color_pipe = colorDrawn;
+ profiler_part1->pe1_pixel_count_drawn_by_depth_pipe = depthDrawn;
+ }
+ }
+
+ gcmkUPDATE_PROFILE_DATA_PART2(hi_total_read_8B_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(hi_total_write_8B_count);
+#if USE_SW_RESET
+ gcmkRESET_PROFILE_DATA_PART1(pe0_pixel_count_killed_by_color_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe0_pixel_count_killed_by_depth_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe0_pixel_count_drawn_by_color_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe0_pixel_count_drawn_by_depth_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe1_pixel_count_killed_by_color_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe1_pixel_count_killed_by_depth_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe1_pixel_count_drawn_by_color_pipe, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pe1_pixel_count_drawn_by_depth_pipe, preNewProfiler_part1);
+#endif
+ gcmkUPDATE_PROFILE_DATA_PART1(pe0_pixel_count_killed_by_color_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe0_pixel_count_killed_by_depth_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe0_pixel_count_drawn_by_color_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe0_pixel_count_drawn_by_depth_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe1_pixel_count_killed_by_color_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe1_pixel_count_killed_by_depth_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe1_pixel_count_drawn_by_color_pipe);
+ gcmkUPDATE_PROFILE_DATA_PART1(pe1_pixel_count_drawn_by_depth_pipe);
+
+ /* Reset clock control register. */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ clock));
+
+ /* Reset counters. */
+ gcmkONERROR(
+ gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 1));
+ gcmkONERROR(
+ gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 0));
+ gcmkONERROR(
+ gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00438, 0));
+ gcmkONERROR(
+ gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00078, 0));
+#if !USE_SW_RESET
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
+));
+#endif
+
+ /* FE */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_draw_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_out_vertex_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_cache_miss_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_cache_lk_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00450, &profiler_part1->fe_process_count));
+
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0)))
+));
+
+ gcmkUPDATE_PROFILE_DATA_PART1(fe_draw_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(fe_out_vertex_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(fe_cache_miss_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(fe_cache_lk_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(fe_process_count);
+
+ /* SH */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_inst_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_rendered_pixel_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_inst_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_rendered_vertice_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_branch_inst_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_texld_inst_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_branch_inst_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_texld_inst_counter));
+ if (hasNewCounters)
+ {
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_non_idle_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->vs_process_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_non_idle_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (22) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->ps_process_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->shader_cycle_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (23) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_non_idle_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (24) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (25) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (26) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0045C, &profiler_part1->tx_process_count));
+ }
+#if USE_SW_RESET
+ gcmkRESET_PROFILE_DATA_PART1(ps_inst_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_rendered_pixel_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_inst_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_rendered_vertice_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_branch_inst_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_texld_inst_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_branch_inst_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_texld_inst_counter, preNewProfiler_part1);
+ if (hasNewCounters)
+ {
+ gcmkRESET_PROFILE_DATA_PART1(vs_non_idle_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_stall_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(vs_process_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_non_idle_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_stall_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ps_process_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(shader_cycle_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(tx_non_idle_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(tx_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(tx_stall_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(tx_process_count, preNewProfiler_part1);
+ }
+#endif
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_inst_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_rendered_pixel_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_inst_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_rendered_vertice_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_branch_inst_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_texld_inst_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_branch_inst_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_texld_inst_counter);
+ if (hasNewCounters)
+ {
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_non_idle_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_stall_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(vs_process_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_non_idle_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_stall_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ps_process_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(shader_cycle_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_non_idle_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_stall_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_process_count);
+ }
+#if !USE_SW_RESET
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00470, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
+));
+#endif
+
+ /* PA */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_input_vtx_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_input_prim_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_output_prim_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_depth_clipped_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_trivial_rejected_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_culled_prim_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_droped_prim_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_frustum_clipped_prim_counter));
+ if (hasNewCounters)
+ {
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_non_idle_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00460, &profiler_part1->pa_process_count));
+ }
+#if USE_SW_RESET
+ gcmkRESET_PROFILE_DATA_PART1(pa_input_vtx_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_input_prim_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_output_prim_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_depth_clipped_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_trivial_rejected_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_culled_prim_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_droped_prim_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_frustum_clipped_prim_counter, preNewProfiler_part1);
+ if (hasNewCounters)
+ {
+ gcmkRESET_PROFILE_DATA_PART1(pa_non_idle_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_stall_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(pa_process_count, preNewProfiler_part1);
+ }
+#endif
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_input_vtx_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_input_prim_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_output_prim_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_depth_clipped_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_trivial_rejected_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_culled_prim_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_droped_prim_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_frustum_clipped_prim_counter);
+ if (hasNewCounters)
+ {
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_non_idle_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_stall_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(pa_process_count);
+ }
+#if !USE_SW_RESET
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0)))
+));
+#endif
+
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_clipped_triangle_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_clipped_line_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_culled_triangle_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_culled_lines_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_trivial_rejected_line_count));
+ if (hasNewCounters)
+ {
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_receive_triangle_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_send_triangle_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_receive_lines_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_send_lines_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_process_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00464, &profiler_part1->se_non_idle_starve_count));
+ }
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8)))
+));
+
+ gcmkUPDATE_PROFILE_DATA_PART1(se_clipped_triangle_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_clipped_line_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_culled_triangle_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_culled_lines_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_trivial_rejected_line_count);
+ if (hasNewCounters)
+ {
+ gcmkUPDATE_PROFILE_DATA_PART1(se_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_stall_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_receive_triangle_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_send_triangle_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_receive_lines_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_send_lines_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_process_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(se_non_idle_starve_count);
+ }
+
+ /* RA */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_valid_pixel_count_to_render));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_total_quad_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_valid_quad_count_after_early_z));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_input_prim_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_pipe_cache_miss_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_prefetch_cache_miss_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_eez_culled_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_pipe_hz_cache_miss_counter));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_prefetch_hz_cache_miss_counter));
+ if (hasNewCounters)
+ {
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_non_idle_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_starve_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_stall_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00448, &profiler_part1->ra_process_count));
+ }
+#if USE_SW_RESET
+ gcmkRESET_PROFILE_DATA_PART1(ra_valid_pixel_count_to_render, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_total_quad_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_valid_quad_count_after_early_z, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_input_prim_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_pipe_cache_miss_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_prefetch_cache_miss_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_eez_culled_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_pipe_hz_cache_miss_counter, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_prefetch_hz_cache_miss_counter, preNewProfiler_part1);
+ if (hasNewCounters)
+ {
+ gcmkRESET_PROFILE_DATA_PART1(ra_non_idle_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_starve_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_stall_count, preNewProfiler_part1);
+ gcmkRESET_PROFILE_DATA_PART1(ra_process_count, preNewProfiler_part1);
+ }
+#endif
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_valid_pixel_count_to_render);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_total_quad_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_valid_quad_count_after_early_z);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_input_prim_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_pipe_cache_miss_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_prefetch_cache_miss_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_eez_culled_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_pipe_hz_cache_miss_counter);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_prefetch_hz_cache_miss_counter);
+ if (hasNewCounters)
+ {
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_non_idle_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_starve_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_stall_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(ra_process_count);
+ }
+#if !USE_SW_RESET
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
+));
+#endif
+
+ /* TX */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_bilinear_requests));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_trilinear_requests));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_discarded_texture_requests));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_total_texture_requests));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc0_miss_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc0_request_byte_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc1_miss_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0044C, &profiler_part1->tx_mc1_request_byte_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00474, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
+));
+
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_total_bilinear_requests);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_total_trilinear_requests);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_total_discarded_texture_requests);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_total_texture_requests);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_mc0_miss_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_mc0_request_byte_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_mc1_miss_count);
+ gcmkUPDATE_PROFILE_DATA_PART1(tx_mc1_request_byte_count);
+
+ /* MC */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_8B_from_colorpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_8B_sentout_from_colorpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (3) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_write_req_8B_from_colorpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_sentout_from_colorpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_write_req_from_colorpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (7) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_8B_from_depthpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_8B_sentout_from_depthpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_write_req_8B_from_depthpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (10) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_sentout_from_depthpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (11) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_write_req_from_depthpipe));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_8B_from_others));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_write_req_8B_from_others));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (14) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_read_req_from_others));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (15) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00468, &profiler_part2->mc_total_write_req_from_others));
+
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 7:0) - (0 ? 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:0) - (0 ?
+ 7:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:0) - (0 ? 7:0) + 1))))))) << (0 ?
+ 7:0)))
+));
+
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_8B_from_colorpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_8B_sentout_from_colorpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_write_req_8B_from_colorpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_sentout_from_colorpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_write_req_from_colorpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_8B_from_depthpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_8B_sentout_from_depthpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_write_req_8B_from_depthpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_sentout_from_depthpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_write_req_from_depthpipe);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_8B_from_others);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_write_req_8B_from_others);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_read_req_from_others);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_total_write_req_from_others);
+
+ /* read latency counters */
+ if (hasNewCounters)
+ {
+ /* latency */
+ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x0056C,
+ &mc_axi_max_min_latency));
+
+ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00570,
+ &profiler_part2->mc_axi_total_latency));
+
+ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00574,
+ &profiler_part2->mc_axi_sample_count));
+
+ /* Reset Latency counters */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00568,
+ 0x10a));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00568,
+ 0xa));
+
+ profiler_part2->mc_axi_min_latency = (mc_axi_max_min_latency & 0xffff0000) >> 16;
+ profiler_part2->mc_axi_max_latency = (mc_axi_max_min_latency & 0x0000ffff);
+ if (profiler_part2->mc_axi_min_latency == 4095)
+ profiler_part2->mc_axi_min_latency = 0;
+
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_axi_min_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_axi_max_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_axi_total_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(mc_axi_sample_count);
+ }
+
+ /* HI */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler_part2->hi0_axi_cycles_read_request_stalled));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler_part2->hi0_axi_cycles_write_request_stalled));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x0046C, &profiler_part2->hi0_axi_cycles_write_data_stalled));
+
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8)))
+));
+
+ gcmkUPDATE_PROFILE_DATA_PART2(hi0_axi_cycles_read_request_stalled);
+ gcmkUPDATE_PROFILE_DATA_PART2(hi0_axi_cycles_write_request_stalled);
+ gcmkUPDATE_PROFILE_DATA_PART2(hi0_axi_cycles_write_data_stalled);
+
+ /* L2 */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_axi0_read_request_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_axi0_write_request_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (5) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_axi1_write_request_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (8) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_read_transactions_request_by_axi0));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (9) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_read_transactions_request_by_axi1));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (12) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_write_transactions_request_by_axi0));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (13) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_total_write_transactions_request_by_axi1));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (16) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi0_minmax_latency));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (17) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi0_total_latency));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (18) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi0_total_request_count));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (19) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi1_minmax_latency));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (20) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi1_total_latency));
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (21) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os, Hardware->core, 0x00564, &profiler_part2->l2_axi1_total_request_count));
+
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (resetValue) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) ));
+gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x00478, ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 23:16) - (0 ? 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ?
+ 23:16) + 1))))))) << (0 ? 23:16)))
+));
+
+ profiler_part2->l2_axi0_min_latency = (profiler_part2->l2_axi0_minmax_latency & 0xffff0000) >> 16;
+ profiler_part2->l2_axi0_max_latency = (profiler_part2->l2_axi0_minmax_latency & 0x0000ffff);
+ profiler_part2->l2_axi1_min_latency = (profiler_part2->l2_axi0_minmax_latency & 0xffff0000) >> 16;
+ profiler_part2->l2_axi1_max_latency = (profiler_part2->l2_axi0_minmax_latency & 0x0000ffff);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_axi0_read_request_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_axi1_read_request_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_axi0_write_request_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_axi1_write_request_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_read_transactions_request_by_axi0);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_read_transactions_request_by_axi1);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_write_transactions_request_by_axi0);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_total_write_transactions_request_by_axi1);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi0_min_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi0_max_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi0_total_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi0_total_request_count);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi1_min_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi1_max_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi1_total_latency);
+ gcmkUPDATE_PROFILE_DATA_PART2(l2_axi1_total_request_count);
+
+ /* Success. */
+ gcmkFOOTER_NO();
+ return gcvSTATUS_OK;
+
+OnError:
+ /* Return the status. */
+ gcmkFOOTER();
+ return status;
+}
+
+
+gceSTATUS
+gckHARDWARE_InitProfiler(
+ IN gckHARDWARE Hardware
+ )
+{
+ gceSTATUS status;
+ gctUINT32 control;
+
+ gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ &control));
+ /* Enable debug register. */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 11:11) - (0 ? 11:11) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:11) - (0 ?
+ 11:11) + 1))))))) << (0 ? 11:11)))));
+
+OnError:
/* Return the status. */
gcmkFOOTER();
return status;
0x00000000));
control = ((((gctUINT32) (0x01590880)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 17:17) - (0 ?
- 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1))))))) << (0 ?
- 17:17)));
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ?
+ 17:17) + 1))))))) << (0 ? 17:17)));
/* Disable pulse-eater. */
gcmkONERROR(gckOS_WriteRegisterEx(Os,
Core,
0x0010C,
((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)))));
gcmkONERROR(gckOS_WriteRegisterEx(Os,
Core,
0x00000,
((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 9:9) - (0 ? 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) - (0 ? 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 9:9) - (0 ?
- 9:9) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
+ 9:9) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:9) - (0 ? 9:9) + 1))))))) << (0 ?
9:9)))));
gcmkONERROR(gckOS_WriteRegisterEx(Os,
/* Isolate the GPU. */
control = ((((gctUINT32) (0x00000900)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 19:19) - (0 ?
- 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19)));
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19)));
gcmkONERROR(gckOS_WriteRegisterEx(Os,
Core,
Core,
0x00000,
((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
- 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ?
- 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
- 12:12)))));
+ 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ? 12:12)))));
/* Wait for reset. */
gcmkONERROR(gckOS_Delay(Os, 1));
Core,
0x00000,
((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:12) - (0 ? 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
- 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 12:12) - (0 ?
- 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
- 12:12)))));
+ 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ? 12:12))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 12:12) - (0 ? 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ?
+ 12:12) + 1))))))) << (0 ? 12:12)))));
/* Reset GPU isolation. */
control = ((((gctUINT32) (control)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ?
- 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19)));
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19)));
gcmkONERROR(gckOS_WriteRegisterEx(Os,
Core,
0x00004,
&idle));
- if ((((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ) == 0)
+ if ((((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ) == 0)
{
continue;
}
0x00000,
&control));
- if (((((((gctUINT32) (control)) >> (0 ? 16:16)) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1)))))) ) == 0)
- || ((((((gctUINT32) (control)) >> (0 ? 17:17)) & ((gctUINT32) ((((1 ? 17:17) - (0 ? 17:17) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:17) - (0 ? 17:17) + 1)))))) ) == 0)
+ if (((((((gctUINT32) (control)) >> (0 ? 16:16)) & ((gctUINT32) ((((1 ? 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ? 16:16) + 1)))))) ) == 0)
+ || ((((((gctUINT32) (control)) >> (0 ? 17:17)) & ((gctUINT32) ((((1 ? 17:17) - (0 ? 17:17) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:17) - (0 ? 17:17) + 1)))))) ) == 0)
)
{
continue;
/* Make sure this is a load state. */
if (((((gctUINT32) (State)) >> (0 ? 31:27) & ((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:
-27) + 1))))))))
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1)))))) == (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))))
{
#if gcdENABLE_3D
/* Get the state address. */
- switch ((((((gctUINT32) (State)) >> (0 ? 15:0)) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1)))))) ))
+ switch ((((((gctUINT32) (State)) >> (0 ? 15:0)) & ((gctUINT32) ((((1 ? 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1)))))) ))
{
case 0x0596:
case 0x0597:
triggerState[0] = 0x0C03;
triggerState[1]
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:4) - (0 ?
- 5:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:4) - (0 ? 5:4) + 1))))))) << (0 ?
+ 5:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:4) - (0 ? 5:4) + 1))))))) << (0 ?
5:4))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 5:4) - (0 ? 5:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 5:4) - (0 ? 5:4) + 1))))))) << (0 ? 5:4)))
+ ~0U : (~(~0U << ((1 ? 5:4) - (0 ? 5:4) + 1))))))) << (0 ? 5:4)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 8:8) - (0 ?
- 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 24:24) - (0 ?
- 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ?
+ 24:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ?
24:24))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 24:24) - (0 ?
- 24:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ?
+ 24:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 24:24) - (0 ? 24:24) + 1))))))) << (0 ?
24:24)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 12:12) - (0 ?
- 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
+ 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
12:12))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 12:12) - (0 ?
- 12:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
+ 12:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:12) - (0 ? 12:12) + 1))))))) << (0 ?
12:12)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 20:16) - (0 ?
- 20:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ?
+ 20:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ?
20:16))) | (((gctUINT32) ((gctUINT32) (EventID) & ((gctUINT32) ((((1 ?
- 20:16) - (0 ? 20:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:16) - (0 ? 20:16) + 1))))))) << (0 ?
- 20:16)))
+ 20:16) - (0 ? 20:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:16) - (0 ?
+ 20:16) + 1))))))) << (0 ? 20:16)))
;
#if gcdNONPAGED_MEMORY_CACHEABLE
gcmkONERROR(gckOS_WriteRegisterEx(
Hardware->os, Hardware->core, 0x00554,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
));
/* Success. */
return gcvSTATUS_OK;
}
+gceSTATUS
+gckHARDWARE_HandleFault(
+ IN gckHARDWARE Hardware
+ )
+{
+ gceSTATUS status = gcvSTATUS_NOT_SUPPORTED;
+ gctUINT32 mmu, mmuStatus, address = gcvINVALID_ADDRESS, i = 0;
+ gctUINT32 mmuStatusRegAddress;
+ gctUINT32 mmuExceptionAddress;
+
+ gcuVIDMEM_NODE_PTR node;
+ gctUINT32 entryValue;
+
+ gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+ if (Hardware->secureMode == gcvSECURE_NONE)
+ {
+ mmuStatusRegAddress = 0x00188;
+ mmuExceptionAddress = 0x00190;
+ }
+ else
+ {
+ mmuStatusRegAddress = 0x00384;
+ mmuExceptionAddress = 0x00380;
+ }
+
+ /* Get MMU exception address. */
+#if gcdENABLE_TRUST_APPLICATION
+ if (Hardware->secureMode == gcvSECURE_IN_TA)
+ {
+ gckKERNEL_ReadMMUException(Hardware->kernel, &mmuStatus, &address);
+ }
+ else
+#endif
+ {
+ gcmkVERIFY_OK(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ mmuStatusRegAddress,
+ &mmuStatus
+ ));
+
+ gcmkPRINT(" MMU status = 0x%08X\n", mmuStatus);
+
+ for (i = 0; i < 4; i += 1)
+ {
+ mmu = mmuStatus & 0xF;
+ mmuStatus >>= 4;
+
+ if (mmu == 0)
+ {
+ continue;
+ }
+
+ gcmkVERIFY_OK(gckOS_ReadRegisterEx(
+ Hardware->os,
+ Hardware->core,
+ mmuExceptionAddress + i * 4,
+ &address
+ ));
+
+ break;
+ }
+ }
+
+ if (address != gcvINVALID_ADDRESS)
+ {
+ address &= ~gcdMMU_PAGE_4K_MASK;
+
+ /* Try to allocate memory and setup map for exception address. */
+ gcmkONERROR(gckVIDMEM_FindVIDMEM(Hardware->kernel, address, &node, &entryValue));
+
+#if gcdENABLE_TRUST_APPLICATION
+ if (Hardware->secureMode == gcvSECURE_IN_TA)
+ {
+ gckKERNEL_HandleMMUException(
+ Hardware->kernel,
+ mmuStatus,
+ entryValue,
+ address
+ );
+ }
+ else
+#endif
+ {
+ gctUINT32_PTR entry;
+
+ /* Setup page table. */
+ gcmkONERROR(gckMMU_GetPageEntry(Hardware->kernel->mmu, address, &entry));
+
+ gckMMU_SetPage(Hardware->kernel->mmu, entryValue, gcvTRUE, entry);
+
+ /* Resume hardware execution. */
+ gcmkVERIFY_OK(gckOS_WriteRegisterEx(
+ Hardware->os,
+ Hardware->core,
+ mmuExceptionAddress + i * 4,
+ *entry
+ ));
+ }
+ }
+
+ gcmkFOOTER_NO();
+ return gcvSTATUS_OK;
+
+OnError:
+ gcmkFOOTER();
+ return status;
+}
+
/*******************************************************************************
**
** gckHARDWARE_DumpGPUState
Hardware->core,
0x00000,
((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:20) - (0 ? 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ? 23:20) - (0 ?
- 23:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:20) - (0 ? 23:20) + 1))))))) << (0 ?
- 23:20)))));
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20)))));
/* Read cycle registers. */
gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
return status;
}
+gceSTATUS
+gckHARDWARE_DumpGpuProfile(
+ IN gckHARDWARE Hardware
+ )
+{
+ gceSTATUS status = gcvSTATUS_OK;
+ gctUINT clock, i;
+ gctUINT32 totalRead, totalWrite, read, write;
+
+ gcmkHEADER_ARG("Hardware=0x%x", Hardware);
+
+ /* Read clock control register. */
+ gcmkONERROR(gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ &clock));
+
+ totalRead = 0;
+ totalWrite = 0;
+
+ /* Walk through all avaiable pixel pipes. */
+ for (i = 0; i < Hardware->identity.pixelPipes; ++i)
+ {
+ /* Select proper pipe. */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ ((((gctUINT32) (clock)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20))) | (((gctUINT32) ((gctUINT32) (i) & ((gctUINT32) ((((1 ?
+ 23:20) - (0 ? 23:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:20) - (0 ?
+ 23:20) + 1))))))) << (0 ? 23:20)))));
+
+ /* BW */
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00040,
+ &read));
+ totalRead += read;
+
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00044,
+ &write));
+ totalWrite += write;
+ }
+
+ gcmkPRINT("==============GPU Profile: read request : %d\n", totalRead);
+ gcmkPRINT("==============GPU Profile: write request: %d\n", totalWrite);
+
+ /* Reset clock control register. */
+ gcmkONERROR(gckOS_WriteRegisterEx(Hardware->os,
+ Hardware->core,
+ 0x00000,
+ clock));
+ /* Reset counters. */
+ gcmkONERROR(
+ gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 1));
+ gcmkONERROR(
+ gckOS_WriteRegisterEx(Hardware->os, Hardware->core, 0x0003C, 0));
+
+ /* Success. */
+ gcmkFOOTER_NO();
+ return gcvSTATUS_OK;
+
+OnError:
+ /* Return the status. */
+ gcmkFOOTER();
+ return status;
+}
+
#if gcdDVFS
#define READ_FROM_EATER1 0
Hardware->core,
0x0010C,
((((gctUINT32) (eater)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:8) - (0 ? 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) - (0 ? 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8))) | (((gctUINT32) ((gctUINT32) (period) & ((gctUINT32) ((((1 ? 15:8) - (0 ?
- 15:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
+ 15:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:8) - (0 ? 15:8) + 1))))))) << (0 ?
15:8)))));
#if READ_FROM_EATER1
Hardware->core,
0x00130,
((((gctUINT32) (eater1)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ?
- 31:16))) | (((gctUINT32) ((gctUINT32) (period1) & ((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ?
- 31:16)))));
+ 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (period1) & ((gctUINT32) ((((1 ?
+ 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ? 31:16)))));
#endif
}
else
&data));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 16:16) - (0 ? 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 16:16) - (0 ?
- 16:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 16:16) - (0 ? 16:16) + 1))))))) << (0 ?
- 16:16)));
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 16:16) - (0 ? 16:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 16:16) - (0 ?
+ 16:16) + 1))))))) << (0 ? 16:16)));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 18:18) - (0 ? 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ?
- 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 18:18) - (0 ?
- 18:18) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 18:18) - (0 ? 18:18) + 1))))))) << (0 ?
- 18:18)));
+ 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ? 18:18))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 18:18) - (0 ? 18:18) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 18:18) - (0 ?
+ 18:18) + 1))))))) << (0 ? 18:18)));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 19:19) - (0 ? 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 19:19) - (0 ?
- 19:19) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 19:19) - (0 ? 19:19) + 1))))))) << (0 ?
- 19:19)));
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 19:19) - (0 ? 19:19) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 19:19) - (0 ?
+ 19:19) + 1))))))) << (0 ? 19:19)));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 20:20) - (0 ? 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ?
- 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 20:20) - (0 ?
- 20:20) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 20:20) - (0 ? 20:20) + 1))))))) << (0 ?
- 20:20)));
+ 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ? 20:20))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 20:20) - (0 ? 20:20) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 20:20) - (0 ?
+ 20:20) + 1))))))) << (0 ? 20:20)));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 23:23) - (0 ? 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ?
- 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:23) - (0 ?
- 23:23) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:23) - (0 ? 23:23) + 1))))))) << (0 ?
- 23:23)));
+ 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
+ 23:23) + 1))))))) << (0 ? 23:23))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 23:23) - (0 ? 23:23) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:23) - (0 ?
+ 23:23) + 1))))))) << (0 ? 23:23)));
data = ((((gctUINT32) (data)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 22:22) - (0 ? 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ?
- 22:22))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 22:22) - (0 ?
- 22:22) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 22:22) - (0 ? 22:22) + 1))))))) << (0 ?
- 22:22)));
+ 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ? 22:22))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 22:22) - (0 ? 22:22) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 22:22) - (0 ?
+ 22:22) + 1))))))) << (0 ? 22:22)));
gcmkTRACE_ZONE(gcvLEVEL_INFO, gcvZONE_HARDWARE,
"DVFS Configure=0x%X",
gctUINT32 endBytes;
gctUINT32 flushBytes;
gctUINT32 eventBytes;
+ gctUINT32 dummyDrawBytes;
gctUINT8_PTR logical;
+ gctUINT32 address;
gctPHYS_ADDR_T physical;
gcsHARDWARE_FUNCTION *function;
gctUINT8 i;
+ gceDUMMY_DRAW_TYPE dummyDrawType = gcvDUMMY_DRAW_INVALID;
gcmkHEADER_ARG("%x", Hardware);
gcmkONERROR(gckHARDWARE_End(
Hardware,
gcvNULL,
+ ~0U,
&endBytes
));
offset += mmuBytes;
logical = (gctUINT8_PTR)Hardware->functionLogical + offset;
+ address = Hardware->functionAddress + offset;
gcmkONERROR(gckHARDWARE_End(
Hardware,
logical,
+ address,
&endBytes
));
offset += flushBytes;
logical = (gctUINT8_PTR)Hardware->functionLogical + offset;
+ address = Hardware->functionAddress + offset;
- gcmkONERROR(gckHARDWARE_End(Hardware, logical, &endBytes));
+ gcmkONERROR(gckHARDWARE_End(Hardware, logical, address, &endBytes));
#if USE_KERNEL_VIRTUAL_BUFFERS
if (Hardware->kernel->virtualCommandBuffer)
function->bytes = eventBytes * 29;
}
+ /************************************************************************************
+ * Dummy draw.
+ */
+ if (gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_FE_NEED_DUMMYDRAW))
+ {
+ dummyDrawType = gcvDUMMY_DRAW_GC400;
+ }
+
+ if (!gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_USC_DEFER_FILL_FIX) &&
+ gckHARDWARE_IsFeatureAvailable(Hardware, gcvFEATURE_USC))
+ {
+ dummyDrawType = gcvDUMMY_DRAW_V60;
+ }
+
+ if (dummyDrawType != gcvDUMMY_DRAW_INVALID)
+ {
+ function = &Hardware->functions[gcvHARDWARE_FUNCTION_DUMMY_DRAW];
+
+ function->logical = logical = (gctUINT8_PTR)Hardware->functionLogical + offset;
+ function->address = Hardware->functionAddress + offset;
+
+ /* Append a dummy draw. */
+ gcmkONERROR(gckHARDWARE_DummyDraw(Hardware, logical, function->address, dummyDrawType, &dummyDrawBytes));
+
+ offset += dummyDrawBytes;
+
+ logical += dummyDrawBytes;
+ address = function->address + dummyDrawBytes;
+
+ gcmkONERROR(gckHARDWARE_End(Hardware, logical, address, &endBytes));
+
+ offset += endBytes;
+
+ function->endAddress = function->address + dummyDrawBytes;
+ function->endLogical = function->logical + dummyDrawBytes;
+
+ function->bytes = dummyDrawBytes + endBytes;
+ }
gcmkASSERT(offset < Hardware->functionBytes);
gcmkFOOTER_NO();
return status;
}
+gceSTATUS
+gckHARDWARE_ExecuteFunctions(
+ IN gckHARDWARE Hardware,
+ IN gceHARDWARE_FUNCTION Function
+ )
+{
+ gceSTATUS status;
+ gctUINT32 idle;
+ gctUINT32 timer = 0, delay = 1;
+
+ /* Execute prepared command sequence. */
+ gcmkONERROR(gckHARDWARE_Execute(
+ Hardware,
+ Hardware->functions[Function].address,
+ Hardware->functions[Function].bytes
+ ));
+
+#if gcdLINK_QUEUE_SIZE
+ {
+ gcuQUEUEDATA data;
+ gcsHARDWARE_FUNCTION * function = &Hardware->functions[Function];
+
+ gcmkVERIFY_OK(gckOS_GetProcessID(&data.linkData.pid));
+
+ data.linkData.start = function->address;
+ data.linkData.end = function->address + function->bytes;
+ data.linkData.linkLow = 0;
+ data.linkData.linkHigh = 0;
+
+ gckQUEUE_Enqueue(&Hardware->linkQueue, &data);
+ }
+#endif
+
+ gcmkDUMPCOMMAND(
+ Hardware->os,
+ Hardware->functions[Function].logical,
+ Hardware->functions[Function].bytes,
+ gceDUMP_BUFFER_KERNEL,
+ gcvTRUE
+ );
+
+#if gcdDUMP_COMMAND
+ gcmkPRINT("@[kernel.execute]");
+#endif
+
+ /* Wait until GPU idle. */
+ do
+ {
+ gckOS_Delay(Hardware->os, delay);
+
+ gcmkONERROR(gckOS_ReadRegisterEx(
+ Hardware->os,
+ Hardware->core,
+ 0x00004,
+ &idle));
+
+ timer += delay;
+ delay *= 2;
+
+#if gcdGPU_TIMEOUT
+ if (timer >= Hardware->kernel->timeOut)
+ {
+ gckHARDWARE_DumpGPUState(Hardware);
+ gckCOMMAND_DumpExecutingBuffer(Hardware->kernel->command);
+
+ /* Even if hardware is not reset correctly, let software
+ ** continue to avoid software stuck. Software will timeout again
+ ** and try to recover GPU in next timeout.
+ */
+ gcmkONERROR(gcvSTATUS_DEVICE);
+ }
+#endif
+ }
+ while (!(((((gctUINT32) (idle)) >> (0 ? 0:0)) & ((gctUINT32) ((((1 ? 0:0) - (0 ? 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1)))))) ));
+
+ return gcvSTATUS_OK;
+
+OnError:
+ return status;
+}
+
gceSTATUS
gckHARDWARE_AddressInHardwareFuncions(
IN gckHARDWARE Hardware,
{
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E26) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= dataHigh;
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x01FA) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)));
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)));
*logical++
= dataLow;
*logical++
= ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:27) - (0 ? 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
- 31:27))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27))) | (((gctUINT32) (0x0F & ((gctUINT32) ((((1 ?
+ 31:27) - (0 ? 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ?
+ 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (Hardware->waitCount) & ((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:16) - (0 ? 17:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ?
- 17:16))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 17:16) - (0 ? 17:16) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16)));
+ 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ? 17:16))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ?
+ 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ? 17:16)));
*logical++
= FenceAddress;
gcmkONERROR(gckOS_AtomConstruct(Hardware->os, &FE->freeDscriptors));
- data = (((((gctUINT32) (data)) >> (0 ? 6:0)) & ((gctUINT32) ((((1 ? 6:0) - (0 ? 6:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:0) - (0 ? 6:0) + 1)))))) );
+ data = (((((gctUINT32) (data)) >> (0 ? 6:0)) & ((gctUINT32) ((((1 ? 6:0) - (0 ? 6:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1)))))) );
gcmkTRACE_ZONE(gcvLEVEL_INFO, _GC_OBJ_ZONE, "free descriptor=%d", data);
&data
));
- data = (((((gctUINT32) (data)) >> (0 ? 6:0)) & ((gctUINT32) ((((1 ? 6:0) - (0 ? 6:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:0) - (0 ? 6:0) + 1)))))) );
+ data = (((((gctUINT32) (data)) >> (0 ? 6:0)) & ((gctUINT32) ((((1 ? 6:0) - (0 ? 6:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1)))))) );
while (data--)
{
Desc->start
);
+ gckOS_MemoryBarrier(
+ Hardware->os,
+ gcvNULL
+ );
+
gckOS_WriteRegisterEx(
Hardware->os,
Hardware->core,
gctUINT32 dummyDraw_gc400[] = {
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0193) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0x000000,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0194) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0180) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:0) - (0 ?
- 3:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
+ 3:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
3:0))) | (((gctUINT32) (0x8 & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0)))
+ ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:12) - (0 ?
- 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
+ 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
13:12))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 13:12) - (0 ?
- 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
+ 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
13:12)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
+ 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
23:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:16) - (0 ?
- 23:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
+ 23:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:16) - (0 ? 23:16) + 1))))))) << (0 ?
23:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:24) - (0 ?
- 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
+ 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
31:24))) | (((gctUINT32) ((gctUINT32) (4 * gcmSIZEOF(float)) & ((gctUINT32) ((((1 ?
- 31:24) - (0 ? 31:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:24) - (0 ? 31:24) + 1))))))) << (0 ?
- 31:24)))
+ 31:24) - (0 ? 31:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:24) - (0 ?
+ 31:24) + 1))))))) << (0 ? 31:24)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 7:7) - (0 ?
- 7:7) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
+ 7:7) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ?
7:7))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 7:7) - (0 ? 7:7) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))),
+ ~0U : (~(~0U << ((1 ? 7:7) - (0 ? 7:7) + 1))))))) << (0 ? 7:7))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E05) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))),
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0202) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0208) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0201) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0204) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 5:0) - (0 ?
- 5:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
+ 5:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:0) - (0 ? 5:0) + 1))))))) << (0 ?
5:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x1000) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (4) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0x0, 0x0, 0x0, 0x0,
0xDEADDEAD,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0203) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 6:0) - (0 ?
- 6:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ?
+ 6:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ?
6:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 6:0) - (0 ?
- 6:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ?
+ 6:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:0) - (0 ? 6:0) + 1))))))) << (0 ?
6:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x020E) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0200) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
1,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x020C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0x000F003F,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x028C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 11:8) - (0 ?
- 11:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ?
+ 11:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ?
11:8))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 11:8) - (0 ?
- 11:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ?
+ 11:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 11:8) - (0 ? 11:8) + 1))))))) << (0 ?
11:8))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0500) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))),
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x028D) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 13:12) - (0 ?
- 13:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
+ 13:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ?
13:12))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 13:12) - (0 ? 13:12) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)))
+ ~0U : (~(~0U << ((1 ? 13:12) - (0 ? 13:12) + 1))))))) << (0 ? 13:12)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:8) - (0 ?
- 9:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:8) - (0 ? 9:8) + 1))))))) << (0 ?
+ 9:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:8) - (0 ? 9:8) + 1))))))) << (0 ?
9:8))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 9:8) - (0 ? 9:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 9:8) - (0 ? 9:8) + 1))))))) << (0 ? 9:8)))
+ ~0U : (~(~0U << ((1 ? 9:8) - (0 ? 9:8) + 1))))))) << (0 ? 9:8)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 17:16) - (0 ?
- 17:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ?
+ 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ?
17:16))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 17:16) - (0 ? 17:16) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16))),
+ ~0U : (~(~0U << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0300) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0301) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0302) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0303) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0289) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
+ 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:0) - (0 ?
- 3:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
+ 3:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
3:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0))),
+ ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x05 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 3:0) - (0 ?
- 3:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
+ 3:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ?
3:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 3:0) - (0 ? 3:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0))),
+ ~0U : (~(~0U << ((1 ? 3:0) - (0 ? 3:0) + 1))))))) << (0 ? 3:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
+ 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
23:0))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
+ 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
23:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
+ 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
23:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 23:0) - (0 ?
- 23:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
+ 23:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 23:0) - (0 ? 23:0) + 1))))))) << (0 ?
23:0))),
};
/* Semaphore from FE to PE. */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
/* Stall from FE to PE. */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x021A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (0x0) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E06) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) ((gctUINT32) (0x0) & ((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 14:12) - (0 ? 14:12) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 14:12) - (0 ? 14:12) + 1))))))) << (0 ?
- 14:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 14:12) - (0 ? 14:12) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 14:12) - (0 ? 14:12) + 1))))))) << (0 ? 14:12)))
+ 14:12) - (0 ? 14:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 14:12) - (0 ?
+ 14:12) + 1))))))) << (0 ? 14:12))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 14:12) - (0 ? 14:12) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 14:12) - (0 ?
+ 14:12) + 1))))))) << (0 ? 14:12)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 17:16) - (0 ? 17:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ?
- 17:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 17:16) - (0 ? 17:16) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 17:16) - (0 ? 17:16) + 1))))))) << (0 ? 17:16)))
+ 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ? 17:16))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ?
+ 17:16) - (0 ? 17:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 17:16) - (0 ?
+ 17:16) + 1))))))) << (0 ? 17:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 7:4) - (0 ? 7:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ?
+ 7:4) - (0 ? 7:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ?
7:4))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 7:4) - (0 ?
- 7:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ?
+ 7:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 7:4) - (0 ? 7:4) + 1))))))) << (0 ?
7:4))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0401) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (6) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
0x0,
0x2,
0x0,
0x0,
(gctUINT32)~0x0,
+
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x020C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
0xffffffff,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E07) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
2,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E08) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
2,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0420) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:0) - (0 ?
- 2:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
+ 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
2:0))) | (((gctUINT32) ((gctUINT32) (2) & ((gctUINT32) ((((1 ? 2:0) - (0 ?
- 2:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
+ 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
2:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0424) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
1,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0403) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
3,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E21) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 2:0) - (0 ?
- 2:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
+ 2:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ?
2:0))) | (((gctUINT32) (0x2 & ((gctUINT32) ((((1 ? 2:0) - (0 ? 2:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ? 2:0))),
+ ~0U : (~(~0U << ((1 ? 2:0) - (0 ? 2:0) + 1))))))) << (0 ? 2:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x040A) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x2000) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1 << 2) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1 << 2) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
0x07801033,0x3fc00900,0x00000040,0x00390008,
(gctUINT32)~0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x021F) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
0x0,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0240) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 1:0) - (0 ?
- 1:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
+ 1:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ?
1:0))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 1:0) - (0 ? 1:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
+ ~0U : (~(~0U << ((1 ? 1:0) - (0 ? 1:0) + 1))))))) << (0 ? 1:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 6:4) - (0 ? 6:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 6:4) - (0 ? 6:4) + 1))))))) << (0 ?
+ 6:4) - (0 ? 6:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 6:4) - (0 ? 6:4) + 1))))))) << (0 ?
6:4))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 6:4) - (0 ? 6:4) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 6:4) - (0 ? 6:4) + 1))))))) << (0 ? 6:4)))
+ ~0U : (~(~0U << ((1 ? 6:4) - (0 ? 6:4) + 1))))))) << (0 ? 6:4)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 8:8) - (0 ? 8:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
+ 8:8) - (0 ? 8:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ?
8:8))) | (((gctUINT32) (0x0 & ((gctUINT32) ((((1 ? 8:8) - (0 ? 8:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
+ ~0U : (~(~0U << ((1 ? 8:8) - (0 ? 8:8) + 1))))))) << (0 ? 8:8)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 26:24) - (0 ? 26:24) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 26:24) - (0 ? 26:24) + 1))))))) << (0 ?
- 26:24))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ? 26:24) - (0 ? 26:24) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 26:24) - (0 ? 26:24) + 1))))))) << (0 ? 26:24))),
+ 26:24) - (0 ? 26:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:24) - (0 ?
+ 26:24) + 1))))))) << (0 ? 26:24))) | (((gctUINT32) (0x3 & ((gctUINT32) ((((1 ?
+ 26:24) - (0 ? 26:24) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 26:24) - (0 ?
+ 26:24) + 1))))))) << (0 ? 26:24))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0241) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (31) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ?
- 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:16) - (0 ?
- 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ?
- 31:16))),
+ 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ? 31:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0244) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 9:0) - (0 ?
- 9:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ?
+ 9:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ?
9:0))) | (((gctUINT32) ((gctUINT32) (31) & ((gctUINT32) ((((1 ? 9:0) - (0 ?
- 9:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ?
+ 9:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 9:0) - (0 ? 9:0) + 1))))))) << (0 ?
9:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 31:16) - (0 ? 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ?
- 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ? 31:16) - (0 ?
- 31:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:16) - (0 ? 31:16) + 1))))))) << (0 ?
- 31:16))),
+ 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ? 31:16))) | (((gctUINT32) ((gctUINT32) (0) & ((gctUINT32) ((((1 ?
+ 31:16) - (0 ? 31:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:16) - (0 ?
+ 31:16) + 1))))))) << (0 ? 31:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0247) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
(32+(4*(((gcsFEATURE_DATABASE *)Hardware->featureDatabase)->NumShaderCores)-1))/(4*(((gcsFEATURE_DATABASE *)Hardware->featureDatabase)->NumShaderCores)),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0248) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
1,
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E03) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 5:5) - (0 ?
- 5:5) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
+ 5:5) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ?
5:5))) | (((gctUINT32) (0x1 & ((gctUINT32) ((((1 ? 5:5) - (0 ? 5:5) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))),
+ ~0U : (~(~0U << ((1 ? 5:5) - (0 ? 5:5) + 1))))))) << (0 ? 5:5))),
/* Semaphore from FE to PE. */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16)))
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x0E02) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
/* Stall from FE to PE. */
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x09 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 4:0) - (0 ?
- 4:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
+ 4:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ?
4:0))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 4:0) - (0 ? 4:0) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
+ ~0U : (~(~0U << ((1 ? 4:0) - (0 ? 4:0) + 1))))))) << (0 ? 4:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 12:8) - (0 ? 12:8) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
+ 12:8) - (0 ? 12:8) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ?
12:8))) | (((gctUINT32) (0x07 & ((gctUINT32) ((((1 ? 12:8) - (0 ? 12:8) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
+ ~0U : (~(~0U << ((1 ? 12:8) - (0 ? 12:8) + 1))))))) << (0 ? 12:8))),
/* Invalidate I cache.*/
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 31:27) - (0 ?
- 31:27) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
+ 31:27) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ?
31:27))) | (((gctUINT32) (0x01 & ((gctUINT32) ((((1 ? 31:27) - (0 ? 31:27) + 1) == 32) ?
- ~0 : (~(~0 << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
+ ~0U : (~(~0U << ((1 ? 31:27) - (0 ? 31:27) + 1))))))) << (0 ? 31:27)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 15:0) - (0 ? 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) - (0 ? 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0))) | (((gctUINT32) ((gctUINT32) (0x022C) & ((gctUINT32) ((((1 ? 15:0) - (0 ?
- 15:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
+ 15:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 15:0) - (0 ? 15:0) + 1))))))) << (0 ?
15:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 25:16) - (0 ? 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 25:16) - (0 ?
- 25:16) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 25:16) - (0 ? 25:16) + 1))))))) << (0 ?
- 25:16))),
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ?
+ 25:16) - (0 ? 25:16) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 25:16) - (0 ?
+ 25:16) + 1))))))) << (0 ? 25:16))),
((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 0:0) - (0 ?
- 0:0) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
+ 0:0) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 0:0) - (0 ? 0:0) + 1))))))) << (0 ?
0:0)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 1:1) - (0 ? 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) - (0 ? 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 1:1) - (0 ?
- 1:1) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
+ 1:1) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 1:1) - (0 ? 1:1) + 1))))))) << (0 ?
1:1)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 2:2) - (0 ? 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) - (0 ? 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 2:2) - (0 ?
- 2:2) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
+ 2:2) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 2:2) - (0 ? 2:2) + 1))))))) << (0 ?
2:2)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 3:3) - (0 ? 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) - (0 ? 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 3:3) - (0 ?
- 3:3) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
+ 3:3) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 3:3) - (0 ? 3:3) + 1))))))) << (0 ?
3:3)))
| ((((gctUINT32) (0)) & ~(((gctUINT32) (((gctUINT32) ((((1 ?
- 4:4) - (0 ? 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) - (0 ? 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))) | (((gctUINT32) ((gctUINT32) (1) & ((gctUINT32) ((((1 ? 4:4) - (0 ?
- 4:4) + 1) == 32) ? ~0 : (~(~0 << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
+ 4:4) + 1) == 32) ? ~0U : (~(~0U << ((1 ? 4:4) - (0 ? 4:4) + 1))))))) << (0 ?
4:4))),
};
*****************************************************************************/
-/*Auto created on 2016-07-06 09:15*/
+/*Auto created on 2016-09-09 09:41*/
#ifndef _gc_feature_database_h_
#define _gc_feature_database_h_
gctUINT32 NumResolvePipes;
gctUINT32 USC_MAX_PAGES;
gctUINT32 RESULT_WINDOW_MAX_SIZE;
+ gctUINT32 NNMadPerCore;
+ gctUINT32 NNCoreCount;
+ gctUINT32 NNInputBufferDepth;
+ gctUINT32 NNAccumBufferDepth;
gctUINT32 REG_FastClear:1;
gctUINT32 REG_SpecialAntiAliasing:1;
gctUINT32 REG_Pipe3D:1;
gctUINT32 TxLodFlowCorrection:1;
gctUINT32 FaceLod:1;
gctUINT32 MultiCoreSemaphoreStallV2:1;
- gctUINT32 MultiCoreBlockSetConfig:1;
gctUINT32 VMSAA:1;
gctUINT32 ChipEnableLink:1;
gctUINT32 MULTI_SRC_BLT_1_5_ENHANCEMENT:1;
gctUINT32 SH_TEXLD_U_FIX:1;
gctUINT32 MC_FCCACHE_BYTEMASK:1;
gctUINT32 SH_MULTI_WG_PACK_FIX:1;
+ gctUINT32 DC_OVERLAY_SCALING:1;
+ gctUINT32 PE_ADVANCE_BLEND_PART0:1;
+ gctUINT32 FE_PATCHLIST_FETCH_FIX:1;
+ gctUINT32 RA_CG_FIX:1;
+ gctUINT32 EVIS_VX2:1;
+ gctUINT32 NN_FLOAT:1;
+ gctUINT32 DEC400:1;
+ gctUINT32 LS_SUPPORT_PERCOMP_DEPENDENCY:1;
} gcsFEATURE_DATABASE;
static gcsFEATURE_DATABASE gChipInfo[] = {
- /* gc200_4650 */
+ /* dc0000_5550 */
{
- 0x200, /* ChipID */
- 0x4650, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x0, /* ChipID */
+ 0x5550, /* ChipRevision */
+ 0x12000000, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x300, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc255_v132x */
+ /* gc200_4650 */
{
- 0x255, /* ChipID */
- 0x1323, /* ChipRevision */
- 0x3000006, /* ProductID */
+ 0x200, /* ChipID */
+ 0x4650, /* ChipRevision */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
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_BIT_REG_FastClear */
- 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x0, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
- 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x0, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
0x0, /* gcFEATURE_BIT_REG_NoScaler */
0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
- 0x1, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
- 0x1, /* gcFEATURE_BIT_REG_Mem32BitSupport */
- 0x1, /* gcFEATURE_BIT_REG_PipeVG */
- 0x1, /* gcFEATURE_BIT_REG_VGTS */
- 0x1, /* gcFEATURE_BIT_REG_FE20 */
- 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
- 0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
- 0x0, /* 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_VG20 */
+ 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 */
- 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 */
- 0x1, /* gcFEATURE_BIT_REG_VG21 */
- 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
0x0, /* gcFEATURE_BIT_REG_MC20 */
0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
- 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
- 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
- 0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
- 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 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 */
- 0x1, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 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 */
- 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 */
- 0x0, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 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 */
- 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 */
- 0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
- 0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
- 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
- 0x0, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
+ 0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
0x0, /* gcFEATURE_BIT_REG_YUVConversion */
0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x1, /* 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 */
- 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_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 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_Halti2 */
- 0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+ 0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
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_MiniMMUFix */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
- 0x1, /* gcFEATURE_BIT_REG_ExtraVgCaps */
- 0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
- 0x1, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
- 0x1, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
- 0x1, /* gcFEATURE_BIT_VG_MMU */
- 0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
- 0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
- 0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
- 0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+ 0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
+ 0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+ 0x0, /* gcFEATURE_BIT_VG_MMU */
+ 0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
+ 0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+ 0x0, /* 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_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
- 0x1, /* gcFEATURE_BIT_VG_FP25 */
+ 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_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 */
},
- /* gc255_v133x */
+ /* gc255_v132x */
{
0x255, /* ChipID */
- 0x1330, /* ChipRevision */
+ 0x1323, /* ChipRevision */
0x3000006, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x1, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
- 0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
- 0x0, /* gcFEATURE_BIT_VG_MMU */
- 0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
- 0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
- 0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
- 0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
- 0x1, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+ 0x1, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
+ 0x1, /* gcFEATURE_BIT_VG_MMU */
+ 0x1, /* gcFEATURE_BIT_VG_IM_FILTER */
+ 0x1, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
+ 0x1, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
+ 0x1, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
+ 0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x0, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
- 0x1, /* gcFEATURE_BIT_VG_TS_CULLING */
- 0x0, /* gcFEATURE_BIT_VG_FP25 */
+ 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+ 0x1, /* 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_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 */
},
- /* gc255_2001_reneas */
+ /* gc255_v133x */
{
0x255, /* ChipID */
- 0x2001, /* ChipRevision */
+ 0x1330, /* ChipRevision */
0x3000006, /* ProductID */
0x0, /* EcoID */
- 0x400, /* CustomerID */
- 0x1, /* PatchVersion */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x0, /* 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_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 */
0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
0x0, /* gcFEATURE_BIT_REG_NoScaler */
0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
- 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x1, /* gcFEATURE_BIT_REG_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
0x1, /* gcFEATURE_BIT_REG_Mem32BitSupport */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
+ 0x1, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */
0x0, /* gcFEATURE_BIT_VG_MMU */
0x0, /* gcFEATURE_BIT_VG_IM_FILTER */
0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */
0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */
0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
- 0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
+ 0x1, /* gcFEATURE_BIT_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_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
- 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
+ 0x1, /* 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_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 */
},
- /* gc255_2001_geosemi */
+ /* gc255_2001_reneas */
{
0x255, /* ChipID */
0x2001, /* ChipRevision */
0x3000006, /* ProductID */
0x0, /* EcoID */
- 0x401, /* CustomerID */
+ 0x400, /* CustomerID */
0x1, /* PatchVersion */
0x0, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc300_4650 */
+ /* gc255_2001_geosemi */
{
- 0x300, /* ChipID */
- 0x4650, /* ChipRevision */
- 0x5203, /* ProductID */
+ 0x255, /* ChipID */
+ 0x2001, /* ChipRevision */
+ 0x3000006, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
- 0x5, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x401, /* CustomerID */
+ 0x1, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
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 */
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_BIT_REG_FastClear */
- 0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x0, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
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 */
0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x0, /* gcFEATURE_BIT_REG_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
- 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
- 0x0, /* gcFEATURE_BIT_REG_PipeVG */
- 0x0, /* gcFEATURE_BIT_REG_VGTS */
- 0x0, /* gcFEATURE_BIT_REG_FE20 */
- 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
- 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x1, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x1, /* gcFEATURE_BIT_REG_VGTS */
+ 0x1, /* gcFEATURE_BIT_REG_FE20 */
+ 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
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_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_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 */
+ 0x1, /* gcFEATURE_BIT_REG_VG21 */
+ 0x0, /* 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_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_A8TargetSupport */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 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 */
+ 0x1, /* 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 */
- 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 */
- 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x0, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
0x0, /* 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 */
- 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 0x1, /* gcFEATURE_BIT_REG_MMU */
- 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x0, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x0, /* gcFEATURE_BIT_REG_MMU */
+ 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_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 */
0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
- 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
- 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_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 */
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_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 */
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_MiniMMUFix */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
- 0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
- 0x1, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+ 0x1, /* 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_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc300_4650_guoke */
+ /* gc300_4650 */
{
0x300, /* ChipID */
0x4650, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x5203, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x4, /* PatchVersion */
+ 0x5, /* PatchVersion */
0x1, /* FormalRelease */
0x4, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc300_4_6_6_rc0 */
+ /* gc300_4650_guoke */
{
0x300, /* ChipID */
- 0x4660, /* ChipRevision */
- 0x5203, /* ProductID */
+ 0x4650, /* ChipRevision */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
- 0x0, /* FormalRelease */
+ 0x4, /* PatchVersion */
+ 0x1, /* FormalRelease */
0x4, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
- 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+ 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_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 */
},
- /* gc320_5007 */
+ /* gc300_4_6_6_rc0 */
{
- 0x320, /* ChipID */
- 0x5007, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x300, /* ChipID */
+ 0x4660, /* ChipRevision */
+ 0x5203, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x1, /* gcFEATURE_VALUE_Streams */
+ 0x0, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x400, /* gcFEATURE_VALUE_ThreadCount */
- 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x4, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
- 0x8, /* gcFEATURE_VALUE_BufferSize */
+ 0x100, /* gcFEATURE_VALUE_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 */
- 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x8, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
0x0, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
0x1, /* gcFEATURE_BIT_REG_2DPE20 */
- 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
0x1, /* gcFEATURE_BIT_REG_Render8K */
0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
- 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TextureStride */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
- 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
- 0x1, /* gcFEATURE_BIT_REG_New2D */
- 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
- 0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
- 0x0, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 0x0, /* gcFEATURE_BIT_REG_MMU */
- 0x0, /* gcFEATURE_BIT_REG_WideLine */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
- 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 */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x1, /* 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 */
- 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_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 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_Halti2 */
- 0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
+ 0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
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_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
- 0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+ 0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
- 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+ 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
0x0, /* gcFEATURE_BIT_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 */
},
- /* gc320_5220 */
+ /* gc320_5007 */
{
0x320, /* ChipID */
- 0x5220, /* ChipRevision */
+ 0x5007, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x1, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x100, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x1, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
- 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x8, /* gcFEATURE_VALUE_BufferSize */
0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x8, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
0x0, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x2, /* 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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
0x1, /* gcFEATURE_BIT_REG_New2D */
0x1, /* 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 */
- 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_ResolveOffset */
+ 0x0, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x0, /* 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_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 */
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 */
- 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
- 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 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 */
+ 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 */
0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
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 */
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 */
},
- /* gc320_5303 */
+ /* gc320_5220 */
{
0x320, /* ChipID */
- 0x5303, /* ChipRevision */
+ 0x5220, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
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 */
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 */
- 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
0x1, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
- 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
- 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 */
- 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 */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc320_5303_1 */
+ /* gc320_5303 */
{
0x320, /* ChipID */
0x5303, /* ChipRevision */
- 0x5202, /* ProductID */
- 0x1, /* EcoID */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
0x0, /* CustomerID */
- 0x4, /* PatchVersion */
+ 0x0, /* PatchVersion */
0x1, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc320_5340 */
+ /* gc320_5303_1 */
{
0x320, /* ChipID */
- 0x5340, /* ChipRevision */
- 0x0, /* ProductID */
- 0x0, /* EcoID */
+ 0x5303, /* ChipRevision */
+ 0x5202, /* ProductID */
+ 0x1, /* EcoID */
0x0, /* CustomerID */
0x4, /* PatchVersion */
0x1, /* FormalRelease */
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
- 0x1, /* gcFEATURE_BIT_REG_Compression2D */
+ 0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc320c_5341 */
+ /* gc320_5340 */
{
0x320, /* ChipID */
- 0x5341, /* ChipRevision */
+ 0x5340, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
- 0x0, /* FormalRelease */
+ 0x4, /* PatchVersion */
+ 0x1, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x100, /* gcFEATURE_VALUE_InstructionCount */
0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xc, /* gcFEATURE_VALUE_VaryingCount */
+ 0x8, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
0x0, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x1, /* gcFEATURE_BIT_REG_FastClear */
- 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
- 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x0, /* gcFEATURE_BIT_REG_FastClear */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x1, /* 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 */
0x0, /* gcFEATURE_BIT_REG_NoEZ */
0x0, /* gcFEATURE_BIT_REG_No422Texture */
- 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
0x0, /* gcFEATURE_BIT_REG_NoScaler */
0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
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 */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
- 0x1, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
- 0x1, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
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 */
0x1, /* gcFEATURE_BIT_REG_New2D */
0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
- 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
- 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
- 0x1, /* gcFEATURE_BIT_REG_Halti0 */
- 0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x0, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 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 */
- 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 */
- 0x1, /* gcFEATURE_BIT_REG_S1S8 */
- 0x1, /* gcFEATURE_BIT_REG_Halti1 */
+ 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 */
- 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* 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_ThreadWalkerInPS */
+ 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_Interleaver */
0x1, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
- 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
- 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
- 0x0, /* gcFEATURE_BIT_REG_Compression2D */
+ 0x1, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x1, /* gcFEATURE_BIT_VMSAA */
+ 0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
- 0x1, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
- 0x1, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+ 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 */
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 */
},
- /* gc320_5341 */
+ /* gc320c_5341 */
{
0x320, /* ChipID */
0x5341, /* ChipRevision */
- 0x3202, /* ProductID */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x100, /* gcFEATURE_VALUE_InstructionCount */
0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x8, /* gcFEATURE_VALUE_VaryingCount */
+ 0xc, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
0x0, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x0, /* gcFEATURE_BIT_REG_FastClear */
- 0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
- 0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x0, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
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 */
0x0, /* gcFEATURE_BIT_REG_NoEZ */
0x0, /* gcFEATURE_BIT_REG_No422Texture */
- 0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
0x0, /* gcFEATURE_BIT_REG_NoScaler */
0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
0x1, /* 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_VAA */
+ 0x1, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
- 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_TextureStride */
0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
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 */
0x1, /* gcFEATURE_BIT_REG_New2D */
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 */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x0, /* gcFEATURE_BIT_REG_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
- 0x0, /* gcFEATURE_BIT_REG_LineLoop */
- 0x0, /* gcFEATURE_BIT_REG_LogicOp */
- 0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
- 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
- 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
- 0x0, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
- 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
- 0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 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_ThreadWalkerInPS */
+ 0x0, /* gcFEATURE_BIT_REG_TileFiller */
+ 0x0, /* gcFEATURE_BIT_REG_YUVStandard */
0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
0x1, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
- 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
- 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x0, /* gcFEATURE_BIT_REG_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 */
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 */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
- 0x1, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
- 0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
- 0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
+ 0x1, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
+ 0x1, /* 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_CACHE128B256BPERLINE */
+ 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 */
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 */
},
- /* gc355_v121_rc5 */
+ /* gc320_5341 */
{
- 0x355, /* ChipID */
- 0x1215, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x320, /* ChipID */
+ 0x5341, /* ChipRevision */
+ 0x3202, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
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_BIT_REG_FastClear */
- 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
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_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
- 0x1, /* gcFEATURE_BIT_REG_Mem32BitSupport */
- 0x1, /* gcFEATURE_BIT_REG_PipeVG */
- 0x1, /* gcFEATURE_BIT_REG_VGTS */
- 0x1, /* gcFEATURE_BIT_REG_FE20 */
- 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
- 0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
- 0x0, /* gcFEATURE_BIT_REG_2DPE20 */
+ 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_VG20 */
+ 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 */
- 0x1, /* gcFEATURE_BIT_REG_VG21 */
- 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
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 */
- 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
- 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
- 0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
- 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x0, /* gcFEATURE_BIT_REG_V2Compression */
- 0x1, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TextureStride */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
- 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
- 0x1, /* gcFEATURE_BIT_REG_AutoRestartTS */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 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 */
- 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 */
- 0x0, /* gcFEATURE_BIT_REG_New2D */
- 0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
- 0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x1, /* gcFEATURE_BIT_REG_New2D */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 0x0, /* gcFEATURE_BIT_REG_MMU */
- 0x0, /* gcFEATURE_BIT_REG_WideLine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
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 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
- 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
- 0x0, /* gcFEATURE_BIT_REG_YUVStandard */
+ 0x1, /* 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_YUVConversion */
+ 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x1, /* 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 */
- 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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 */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
- 0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
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 */
},
- /* gc355_v121x */
+ /* gc355_v121_rc5 */
{
0x355, /* ChipID */
- 0x1217, /* ChipRevision */
- 0x3003550, /* ProductID */
+ 0x1215, /* ChipRevision */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
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_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x0, /* 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_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+ 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x1, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x1, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x1, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x1, /* gcFEATURE_BIT_REG_VGTS */
+ 0x1, /* gcFEATURE_BIT_REG_FE20 */
+ 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x0, /* 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_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_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x1, /* gcFEATURE_BIT_REG_VG21 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x0, /* 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 */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x1, /* 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 */
+ 0x1, /* 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 */
+ 0x0, /* 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 */
+ 0x0, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x0, /* 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 */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+ 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 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 */
+ 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 */
+ 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 */
+ 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 */
+ 0x0, /* 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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc355_v121x */
+ {
+ 0x355, /* ChipID */
+ 0x1217, /* ChipRevision */
+ 0x3003550, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* 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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc400_4633 */
{
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc400_4645 */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc400L_0x465x */
{
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc7000nano_0x4652 */
{
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc7000nano_0x4652 */
{
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc420_5325 */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc420_5336 */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc420cpd_533rc7a */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc428_5421 */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc428c_5_4_2_rc3a */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc520_5341 */
{
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc520l_5_3_4_rc2b */
{
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_BIT_REG_FastClear */
0x1, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x1, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
/* gc520c_5_5_0 */
{
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* 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 */
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
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 */
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 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
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 */
},
- /* gc520_5_5_3_rc2a */
+ /* gc520sp_5_5_2_rc0a */
{
0x520, /* ChipID */
- 0x5532, /* ChipRevision */
+ 0x5520, /* 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 */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x0, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
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 */
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 */
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_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 */
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_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc600L_0x465x */
+ /* gc520_v552_rc1 */
{
- 0x600, /* ChipID */
- 0x4652, /* ChipRevision */
- 0x70005, /* ProductID */
+ 0x520, /* ChipID */
+ 0x5521, /* ChipRevision */
+ 0x5200, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x7, /* PatchVersion */
- 0x0, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x1, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
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 */
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_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 */
+ 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 */
- 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 */
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_MixedStreams */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
- 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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_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 */
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 */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc7000nanoultra_4_6_5_rc3a */
+ /* gc520_5_5_3_rc2a */
{
- 0x600, /* ChipID */
- 0x4653, /* ChipRevision */
- 0x70005, /* ProductID */
+ 0x520, /* ChipID */
+ 0x5532, /* ChipRevision */
+ 0x5200, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x1, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x0, /* FormalRelease */
+ 0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
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 */
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 */
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 */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
- 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
- 0x0, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
- 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 */
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 */
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 */
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 */
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 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc7000nanoultra_4_6_5_rc3b */
+ /* gc600L_0x465x */
{
0x600, /* ChipID */
- 0x4653, /* ChipRevision */
+ 0x4652, /* ChipRevision */
0x70005, /* ProductID */
0x0, /* EcoID */
- 0x101, /* CustomerID */
- 0x2, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0x0, /* CustomerID */
+ 0x7, /* PatchVersion */
+ 0x0, /* FormalRelease */
0x4, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x0, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
- 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x0, /* gcFEATURE_BIT_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 */
},
- /* gc620_5_5_3_rc0 */
+ /* gc7000nanoultra_4_6_5_rc3a */
{
- 0x620, /* ChipID */
- 0x5530, /* ChipRevision */
- 0x6200, /* ProductID */
+ 0x600, /* ChipID */
+ 0x4653, /* ChipRevision */
+ 0x70005, /* ProductID */
0x0, /* EcoID */
- 0x200, /* CustomerID */
- 0x0, /* PatchVersion */
- 0x0, /* FormalRelease */
- 0x1, /* gcFEATURE_VALUE_Streams */
+ 0x0, /* CustomerID */
+ 0x1, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
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 */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x0, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
- 0x0, /* gcFEATURE_BIT_REG_Pipe3D */
- 0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x0, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
- 0x0, /* gcFEATURE_BIT_REG_MSAA */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
- 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_FastScaler */
0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
- 0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
- 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x1, /* gcFEATURE_BIT_REG_MinArea */
0x1, /* gcFEATURE_BIT_REG_NoEZ */
- 0x1, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
0x0, /* gcFEATURE_BIT_REG_NoScaler */
- 0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
- 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
- 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x1, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x1, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
0x0, /* gcFEATURE_BIT_REG_PipeVG */
0x0, /* gcFEATURE_BIT_REG_VGTS */
0x0, /* gcFEATURE_BIT_REG_FE20 */
- 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
- 0x0, /* gcFEATURE_BIT_REG_FlipY */
- 0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
- 0x0, /* gcFEATURE_BIT_REG_Texture8K */
- 0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
- 0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
- 0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
0x1, /* gcFEATURE_BIT_REG_2DPE20 */
- 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
- 0x0, /* gcFEATURE_BIT_REG_Render8K */
- 0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
- 0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
0x0, /* gcFEATURE_BIT_REG_VG20 */
0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
- 0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
0x0, /* gcFEATURE_BIT_REG_VGFilter */
0x0, /* gcFEATURE_BIT_REG_VG21 */
- 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
- 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_MC20 */
0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
- 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
- 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TextureStride */
0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
- 0x0, /* gcFEATURE_BIT_REG_PixelDither */
- 0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
- 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
- 0x1, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
- 0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
0x0, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
- 0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
- 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_MMU */
- 0x0, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x0, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
- 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
- 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
- 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
0x0, /* gcFEATURE_BIT_REG_NewHZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
- 0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
- 0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_Halti2 */
0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
- 0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
- 0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+ 0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
- 0x1, /* gcFEATURE_BIT_REG_DESupertile */
+ 0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
- 0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
- 0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
+ 0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+ 0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
- 0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
- 0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+ 0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
- 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
- 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+ 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+ 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
0x0, /* gcFEATURE_BIT_VG_FP25 */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
- 0x1, /* gcFEATURE_BIT_G2D_DEC400 */
+ 0x0, /* gcFEATURE_BIT_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 */
},
- /* gc620_5_5_5_rc0d */
+ /* gc7000nanoultra_4_6_5_rc3b */
{
- 0x620, /* ChipID */
- 0x5550, /* ChipRevision */
- 0x6200, /* ProductID */
+ 0x600, /* ChipID */
+ 0x4653, /* ChipRevision */
+ 0x70005, /* ProductID */
0x0, /* EcoID */
- 0x201, /* CustomerID */
- 0x4, /* PatchVersion */
- 0x0, /* FormalRelease */
- 0x1, /* gcFEATURE_VALUE_Streams */
+ 0x101, /* CustomerID */
+ 0x2, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
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 */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x0, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
- 0x0, /* gcFEATURE_BIT_REG_Pipe3D */
- 0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x0, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
- 0x0, /* gcFEATURE_BIT_REG_MSAA */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
- 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_FastScaler */
0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
- 0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
- 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x1, /* gcFEATURE_BIT_REG_MinArea */
0x1, /* gcFEATURE_BIT_REG_NoEZ */
- 0x1, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
0x0, /* gcFEATURE_BIT_REG_NoScaler */
- 0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
- 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
- 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x1, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x1, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
0x0, /* gcFEATURE_BIT_REG_PipeVG */
0x0, /* gcFEATURE_BIT_REG_VGTS */
0x0, /* gcFEATURE_BIT_REG_FE20 */
- 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
- 0x0, /* gcFEATURE_BIT_REG_FlipY */
- 0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
- 0x0, /* gcFEATURE_BIT_REG_Texture8K */
- 0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
- 0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
- 0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
0x1, /* gcFEATURE_BIT_REG_2DPE20 */
- 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
- 0x0, /* gcFEATURE_BIT_REG_Render8K */
- 0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
- 0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
0x0, /* gcFEATURE_BIT_REG_VG20 */
0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
- 0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
0x0, /* gcFEATURE_BIT_REG_VGFilter */
0x0, /* gcFEATURE_BIT_REG_VG21 */
- 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
- 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_MC20 */
0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
- 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
- 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TextureStride */
0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
- 0x0, /* gcFEATURE_BIT_REG_PixelDither */
- 0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
- 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
- 0x1, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
- 0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
0x0, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
- 0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
- 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_MMU */
- 0x0, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x0, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
- 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
- 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
- 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
0x0, /* gcFEATURE_BIT_REG_NewHZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
- 0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
- 0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_Halti2 */
0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
- 0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
- 0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+ 0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
- 0x1, /* gcFEATURE_BIT_REG_DESupertile */
+ 0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
- 0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
- 0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
+ 0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
+ 0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
- 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
- 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+ 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+ 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
0x0, /* gcFEATURE_BIT_VG_FP25 */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
- 0x1, /* gcFEATURE_BIT_G2D_DEC400 */
+ 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x0, /* gcFEATURE_BIT_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 */
},
- /* gc620tpc_5_5_6_rc0a */
+ /* gc620_5_5_3_rc0 */
{
0x620, /* ChipID */
- 0x5560, /* ChipRevision */
+ 0x5530, /* ChipRevision */
0x6200, /* ProductID */
0x0, /* EcoID */
0x200, /* CustomerID */
- 0x1, /* PatchVersion */
+ 0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
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_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x0, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
- 0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+ 0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
+ 0x1, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_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 */
},
- /* gc860L_0x464x */
+ /* gc620_5_5_5_rc0d */
{
- 0x860, /* ChipID */
- 0x4647, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x620, /* ChipID */
+ 0x5550, /* ChipRevision */
+ 0x6200, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x201, /* CustomerID */
0x4, /* PatchVersion */
0x0, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
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 */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x0, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
- 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
- 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
0x0, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
0x0, /* gcFEATURE_BIT_REG_MinArea */
- 0x0, /* gcFEATURE_BIT_REG_NoEZ */
- 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x1, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x1, /* gcFEATURE_BIT_REG_No422Texture */
0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
- 0x0, /* gcFEATURE_BIT_REG_NoScaler */
- 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x1, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
0x0, /* gcFEATURE_BIT_REG_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
0x0, /* gcFEATURE_BIT_REG_PipeVG */
0x0, /* gcFEATURE_BIT_REG_VGTS */
0x0, /* gcFEATURE_BIT_REG_FE20 */
- 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
- 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
- 0x1, /* gcFEATURE_BIT_REG_FlipY */
- 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
- 0x1, /* gcFEATURE_BIT_REG_Texture8K */
- 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
- 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
- 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x0, /* gcFEATURE_BIT_REG_FlipY */
+ 0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x0, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
0x1, /* gcFEATURE_BIT_REG_2DPE20 */
- 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
- 0x1, /* gcFEATURE_BIT_REG_Render8K */
- 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
- 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
- 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x0, /* gcFEATURE_BIT_REG_Render8K */
+ 0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
0x0, /* gcFEATURE_BIT_REG_VG20 */
0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
- 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
- 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
0x0, /* gcFEATURE_BIT_REG_VGFilter */
0x0, /* gcFEATURE_BIT_REG_VG21 */
- 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
- 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
0x1, /* gcFEATURE_BIT_REG_MC20 */
0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
- 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
- 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TextureStride */
0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
- 0x1, /* gcFEATURE_BIT_REG_PixelDither */
- 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x0, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
- 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
- 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x1, /* gcFEATURE_BIT_REG_New2D */
0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
- 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
0x0, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
- 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
- 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_MMU */
- 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x0, /* gcFEATURE_BIT_REG_WideLine */
0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x1, /* gcFEATURE_BIT_REG_TileFiller */
+ 0x0, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
- 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
- 0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
- 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
0x0, /* gcFEATURE_BIT_REG_NewHZ */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
- 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_Halti2 */
0x1, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
- 0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
- 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
+ 0x1, /* gcFEATURE_BIT_REG_DualPipeOPF */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
- 0x0, /* gcFEATURE_BIT_REG_DESupertile */
+ 0x1, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
- 0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
- 0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
+ 0x1, /* gcFEATURE_BIT_REG_DEAddress40 */
+ 0x1, /* gcFEATURE_BIT_REG_MiniMMUFix */
0x0, /* gcFEATURE_BIT_REG_EEZ */
0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
- 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
- 0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+ 0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
- 0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
- 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
- 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
+ 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
+ 0x1, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
0x0, /* gcFEATURE_BIT_VG_FP25 */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
- 0x0, /* gcFEATURE_BIT_G2D_DEC400 */
+ 0x1, /* gcFEATURE_BIT_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 */
},
- /* gc880_5106 */
+ /* gc620tpc_5_5_6_rc0a */
{
- 0x880, /* ChipID */
- 0x5106, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x620, /* ChipID */
+ 0x5560, /* ChipRevision */
+ 0x6200, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
- 0x0, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x200, /* CustomerID */
+ 0x1, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x1, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x200, /* gcFEATURE_VALUE_InstructionCount */
- 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xb, /* gcFEATURE_VALUE_VaryingCount */
+ 0x8, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
0x0, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
- 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x0, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
- 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
- 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
- 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
- 0x0, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
0x0, /* gcFEATURE_BIT_REG_MinArea */
- 0x0, /* gcFEATURE_BIT_REG_NoEZ */
- 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x1, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x1, /* gcFEATURE_BIT_REG_No422Texture */
0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
- 0x0, /* gcFEATURE_BIT_REG_NoScaler */
- 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x1, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2Averaging */
0x0, /* gcFEATURE_BIT_REG_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
0x0, /* gcFEATURE_BIT_REG_PipeVG */
0x0, /* gcFEATURE_BIT_REG_VGTS */
0x0, /* gcFEATURE_BIT_REG_FE20 */
- 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
- 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
- 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
- 0x1, /* gcFEATURE_BIT_REG_FlipY */
- 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
- 0x1, /* gcFEATURE_BIT_REG_Texture8K */
- 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
- 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
- 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x0, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x0, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x0, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x0, /* gcFEATURE_BIT_REG_FlipY */
+ 0x0, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x0, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x0, /* gcFEATURE_BIT_REG_FastClearFlush */
0x1, /* gcFEATURE_BIT_REG_2DPE20 */
0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
- 0x1, /* gcFEATURE_BIT_REG_Render8K */
- 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
- 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
- 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_Render8K */
+ 0x0, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x0, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x0, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
0x0, /* gcFEATURE_BIT_REG_VG20 */
0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
- 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
- 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
0x0, /* gcFEATURE_BIT_REG_VGFilter */
0x0, /* gcFEATURE_BIT_REG_VG21 */
- 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
- 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
0x1, /* gcFEATURE_BIT_REG_MC20 */
- 0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
- 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
- 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
- 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_RSUVSwizzle */
0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TextureStride */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
- 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
- 0x1, /* gcFEATURE_BIT_REG_PixelDither */
- 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
- 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
- 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x0, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x0, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
- 0x0, /* gcFEATURE_BIT_REG_New2D */
- 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
- 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
- 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
- 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
- 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x1, /* gcFEATURE_BIT_REG_New2D */
+ 0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x0, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x0, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
- 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
- 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x0, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x0, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 0x0, /* gcFEATURE_BIT_REG_MMU */
- 0x1, /* gcFEATURE_BIT_REG_WideLine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x0, /* gcFEATURE_BIT_REG_WideLine */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
0x0, /* gcFEATURE_BIT_REG_LineLoop */
0x0, /* gcFEATURE_BIT_REG_LogicOp */
- 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
0x0, /* gcFEATURE_BIT_REG_LinearPE */
- 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
- 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x0, /* gcFEATURE_BIT_REG_PESwizzle */
- 0x1, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_S1S8 */
0x0, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x0, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
- 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
- 0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
- 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x0, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
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_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 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
- 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
- 0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
+ 0x1, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
- 0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x1, /* gcFEATURE_BIT_REG_AndroidOnly */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_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 */
+ },
+ /* gc860L_0x464x */
+ {
+ 0x860, /* ChipID */
+ 0x4647, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x4, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* 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_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+ 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+ 0x1, /* gcFEATURE_BIT_REG_TileFiller */
+ 0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+ 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 */
+ 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 */
+ 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 */
+ 0x0, /* 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_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_SH_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 */
},
- /* gc880_5122 */
+ /* gc880_5106 */
{
0x880, /* ChipID */
- 0x5122, /* ChipRevision */
- 0x70007, /* ProductID */
+ 0x5106, /* ChipRevision */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
- 0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x1, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x100, /* gcFEATURE_VALUE_ThreadCount */
0x8, /* gcFEATURE_VALUE_VertexCacheSize */
0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
- 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xc, /* gcFEATURE_VALUE_VaryingCount */
+ 0xb, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
0x0, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
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 */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+ 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x0, /* gcFEATURE_BIT_REG_MMU */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x0, /* 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_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_TXFilter */
+ 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+ 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 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 */
+ 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 */
+ 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 */
+ 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 */
+ 0x0, /* 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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc880_5122 */
+ {
+ 0x880, /* ChipID */
+ 0x5122, /* ChipRevision */
+ 0x70007, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x100, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x1, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0xc, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x0, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x1, /* 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 */
+ 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x1, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+ 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x0, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 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 */
+ 0x0, /* 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 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x0, /* gcFEATURE_BIT_REG_OclOnly */
+ 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 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 */
+ 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 */
+ 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 */
+ 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 */
+ 0x0, /* 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 */
+ 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_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 */
+ },
+ /* gc880TM_0x512x */
+ {
+ 0x880, /* ChipID */
+ 0x5124, /* ChipRevision */
+ 0x70007, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x2, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x100, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x1, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0xc, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x0, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x0, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+ 0x1, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+ 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x0, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+ 0x1, /* gcFEATURE_BIT_REG_TileFiller */
+ 0x1, /* gcFEATURE_BIT_REG_YUVStandard */
+ 0x0, /* gcFEATURE_BIT_REG_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 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x0, /* gcFEATURE_BIT_REG_OclOnly */
+ 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 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 */
+ 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 */
+ 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 */
+ 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 */
+ 0x0, /* 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 */
+ 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_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 */
+ },
+ /* gc900_5250 */
+ {
+ 0x900, /* ChipID */
+ 0x5250, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x200, /* gcFEATURE_VALUE_TempRegisters */
+ 0x100, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x1, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x2, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+ 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+ 0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_TXFilter */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+ 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_WClip */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+ 0x0, /* gcFEATURE_BIT_REG_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_PEEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+ 0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewHZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+ 0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+ 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 */
+ 0x1, /* 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 */
+ 0x0, /* 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 */
+ 0x1, /* 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 */
+ 0x1, /* 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_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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc1000_5036 */
+ {
+ 0x1000, /* ChipID */
+ 0x5036, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x1, /* 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 */
+ 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_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 */
+ 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_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 */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_WClip */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 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 */
+ 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_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 */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x0, /* 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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc1000_5037 */
+ {
+ 0x1000, /* ChipID */
+ 0x5037, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x1, /* 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 */
+ 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_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 */
+ 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_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 */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_WClip */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 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 */
+ 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_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 */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x0, /* 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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc1000_5037_1 */
+ {
+ 0x1000, /* ChipID */
+ 0x5037, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x1, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x1, /* 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 */
+ 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_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 */
+ 0x0, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_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 */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_WClip */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 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 */
+ 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_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 */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x0, /* 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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc1000_5039 */
+ {
+ 0x1000, /* ChipID */
+ 0x5039, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x11, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x1, /* 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 */
+ 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_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 */
+ 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 */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 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 */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x0, /* gcFEATURE_BIT_REG_FastMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_WClip */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 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 */
+ 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_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 */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x0, /* 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 */
+ 0x0, /* 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_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 */
+ },
+ /* gc1500_5246 */
+ {
+ 0x1500, /* ChipID */
+ 0x5246, /* ChipRevision */
+ 0x70003, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x6, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x400, /* gcFEATURE_VALUE_InstructionCount */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0xf, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x2, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+ 0x0, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+ 0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* gcFEATURE_BIT_REG_WideLine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x0, /* gcFEATURE_BIT_REG_TXFilter */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 0x1, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+ 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 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 */
+ 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_PerformanceCounters */
+ 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_ACE */
+ 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
+ 0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewHZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_DENoGamma */
+ 0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
+ 0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
+ 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 */
+ 0x1, /* 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 */
+ 0x0, /* 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 */
+ 0x1, /* 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 */
+ 0x1, /* 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_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 */
+ 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 */
+ 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_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 */
+ },
+ /* gc2000_5108 */
+ {
+ 0x2000, /* ChipID */
+ 0x5108, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 0x0, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0xa8, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0xb, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x0, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
+ 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
+ 0x0, /* gcFEATURE_BIT_REG_HalfPECache */
+ 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
+ 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */
+ 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */
+ 0x0, /* gcFEATURE_BIT_REG_PipeVG */
+ 0x0, /* gcFEATURE_BIT_REG_VGTS */
+ 0x0, /* gcFEATURE_BIT_REG_FE20 */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */
+ 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */
+ 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
+ 0x1, /* gcFEATURE_BIT_REG_FlipY */
+ 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_Texture8K */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
+ 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
+ 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */
+ 0x1, /* gcFEATURE_BIT_REG_2DPE20 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */
+ 0x1, /* gcFEATURE_BIT_REG_Render8K */
+ 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */
+ 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */
+ 0x0, /* gcFEATURE_BIT_REG_VG20 */
+ 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */
+ 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */
+ 0x0, /* gcFEATURE_BIT_REG_VGFilter */
+ 0x0, /* gcFEATURE_BIT_REG_VG21 */
+ 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
+ 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
+ 0x1, /* gcFEATURE_BIT_REG_MC20 */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_NewTexture */
+ 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
+ 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
+ 0x0, /* gcFEATURE_BIT_REG_L2Windowing */
+ 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_PixelDither */
+ 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
+ 0x0, /* gcFEATURE_BIT_REG_New2D */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
+ 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
+ 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
+ 0x0, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* 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 */
+ 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 */
+ 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 */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes7 */
+ 0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
+ 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 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 */
+ 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 */
+ 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 */
+ 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 */
+ 0x0, /* 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 */
+ 0x0, /* 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 */
+ 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 */
+ 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_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 */
+ },
+ /* gc2000_5140 */
+ {
+ 0x2000, /* ChipID */
+ 0x5140, /* ChipRevision */
+ 0x0, /* ProductID */
+ 0x0, /* EcoID */
+ 0x0, /* CustomerID */
+ 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 */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x0, /* gcFEATURE_VALUE_BufferSize */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0x8, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x0, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x2, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastClear */
+ 0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe3D */
+ 0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_DebugMode */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_MSAA */
+ 0x0, /* gcFEATURE_BIT_REG_DC */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
+ 0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
+ 0x1, /* gcFEATURE_BIT_REG_ModuleCG */
+ 0x1, /* gcFEATURE_BIT_REG_MinArea */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_No422Texture */
+ 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
+ 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
+ 0x0, /* gcFEATURE_BIT_REG_NoScaler */
0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */
0x0, /* gcFEATURE_BIT_REG_HalfPECache */
0x0, /* gcFEATURE_BIT_REG_HalfTXCache */
0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
0x1, /* gcFEATURE_BIT_REG_MC20 */
- 0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
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 */
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_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
0x1, /* gcFEATURE_BIT_REG_LineLoop */
- 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 */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
- 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x0, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_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 */
+ 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 */
+ 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 */
- 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
- 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 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 */
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 */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
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 */
},
- /* gc880TM_0x512x */
+ /* gc2000w_5_1_4_rc0e */
{
- 0x880, /* ChipID */
- 0x5124, /* ChipRevision */
- 0x70007, /* ProductID */
+ 0x2000, /* ChipID */
+ 0x5140, /* ChipRevision */
+ 0x20000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x2, /* PatchVersion */
- 0x0, /* FormalRelease */
+ 0x5, /* PatchVersion */
+ 0x1, /* FormalRelease */
0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x100, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x1, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x200, /* gcFEATURE_VALUE_InstructionCount */
- 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x100, /* gcFEATURE_VALUE_InstructionCount */
+ 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xc, /* gcFEATURE_VALUE_VaryingCount */
+ 0x8, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
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 */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
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 */
+ 0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */
0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */
0x1, /* gcFEATURE_BIT_REG_MC20 */
- 0x1, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
+ 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
- 0x0, /* gcFEATURE_BIT_REG_EnhanceVR */
+ 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
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 */
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_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
0x1, /* gcFEATURE_BIT_REG_LineLoop */
- 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 */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
- 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x0, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_S1S8 */
0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
0x0, /* gcFEATURE_BIT_REG_YUVConversion */
0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
- 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes8 */
- 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x0, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 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 */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
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 */
},
- /* gc900_5250 */
+ /* gc2500_5422 */
{
- 0x900, /* ChipID */
- 0x5250, /* ChipRevision */
+ 0x2500, /* ChipID */
+ 0x5422, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
- 0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
- 0x200, /* gcFEATURE_VALUE_TempRegisters */
- 0x100, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x1, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x12, /* PatchVersion */
+ 0x1, /* FormalRelease */
+ 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0xf, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x2, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x1, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
0x0, /* gcFEATURE_BIT_REG_YUVConversion */
0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 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_ExtraShaderInstructions2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 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 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 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 */
- 0x1, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x0, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
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 */
},
- /* gc1000_5036 */
+ /* gc3000_5435 */
{
- 0x1000, /* ChipID */
- 0x5036, /* ChipRevision */
+ 0x3000, /* ChipID */
+ 0x5435, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x1, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0x240, /* 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 */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
- 0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
0x0, /* gcFEATURE_BIT_REG_MinArea */
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 */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
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 */
- 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 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
- 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
0x1, /* gcFEATURE_BIT_REG_PixelDither */
0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
- 0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
0x0, /* gcFEATURE_BIT_REG_New2D */
- 0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
- 0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
- 0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
- 0x0, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
- 0x0, /* gcFEATURE_BIT_REG_LineLoop */
- 0x0, /* gcFEATURE_BIT_REG_LogicOp */
- 0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
- 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
- 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
- 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_S1S8 */
- 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
- 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
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 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
- 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
- 0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 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 */
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 */
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 */
},
- /* gc1000_5037 */
+ /* gc2000_ffff5450 */
{
- 0x1000, /* ChipID */
- 0x5037, /* ChipRevision */
+ 0x2000, /* ChipID */
+ 0xffff5450, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
+ 0x8, /* PatchVersion */
0x1, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x8, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x0, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
- 0x0, /* gcFEATURE_BIT_REG_HighDynamicRange */
+ 0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_ModuleCG */
0x0, /* gcFEATURE_BIT_REG_MinArea */
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 */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
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 */
- 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 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
- 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
0x1, /* gcFEATURE_BIT_REG_PixelDither */
0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
- 0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
0x0, /* gcFEATURE_BIT_REG_New2D */
- 0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
- 0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
- 0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
- 0x0, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
- 0x0, /* gcFEATURE_BIT_REG_LineLoop */
- 0x0, /* gcFEATURE_BIT_REG_LogicOp */
- 0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
- 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
- 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
- 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_S1S8 */
- 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
- 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
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 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
- 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
- 0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 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 */
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 */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_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 */
},
- /* gc1000_5037_1 */
+ /* gc3000_5450 */
{
- 0x1000, /* ChipID */
- 0x5037, /* ChipRevision */
+ 0x3000, /* ChipID */
+ 0x5450, /* ChipRevision */
0x0, /* ProductID */
- 0x1, /* EcoID */
+ 0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
+ 0x8, /* PatchVersion */
0x1, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x8, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x0, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
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 */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
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 */
- 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 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
0x1, /* gcFEATURE_BIT_REG_BugFixes4 */
0x0, /* gcFEATURE_BIT_REG_L2Windowing */
- 0x0, /* gcFEATURE_BIT_REG_HalfFloatPipe */
+ 0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */
0x1, /* gcFEATURE_BIT_REG_PixelDither */
0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
- 0x0, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
+ 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
0x0, /* gcFEATURE_BIT_REG_New2D */
- 0x0, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
+ 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */
0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */
- 0x0, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
- 0x0, /* gcFEATURE_BIT_REG_LinearTextureSupport */
- 0x0, /* gcFEATURE_BIT_REG_Halti0 */
+ 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
+ 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
+ 0x1, /* gcFEATURE_BIT_REG_Halti0 */
0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
- 0x0, /* gcFEATURE_BIT_REG_LineLoop */
- 0x0, /* gcFEATURE_BIT_REG_LogicOp */
- 0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
- 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
- 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
- 0x0, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_S1S8 */
- 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
- 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
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 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
- 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
- 0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 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 */
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 */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_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 */
},
- /* gc1000_5039 */
+ /* gc3000_5451 */
{
- 0x1000, /* ChipID */
- 0x5039, /* ChipRevision */
+ 0x3000, /* ChipID */
+ 0x5451, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x11, /* PatchVersion */
+ 0x4, /* PatchVersion */
0x1, /* FormalRelease */
- 0x4, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0x240, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x8, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x0, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
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 */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
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 */
- 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 */
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 */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
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 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes10 */
- 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
- 0x1, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x0, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
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 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x0, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 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 */
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 */
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 */
},
- /* gc1500_5246 */
+ /* gc7000L_551x */
{
- 0x1500, /* ChipID */
- 0x5246, /* ChipRevision */
- 0x70003, /* ProductID */
+ 0x3000, /* ChipID */
+ 0x5512, /* ChipRevision */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x6, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x3, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x10, /* 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 */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x400, /* gcFEATURE_VALUE_InstructionCount */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xf, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x2, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x0, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x1, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
0x0, /* gcFEATURE_BIT_REG_YUVConversion */
0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
+ 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
- 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_FastMSAA */
0x0, /* gcFEATURE_BIT_REG_WClip */
0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
- 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_ACE */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
0x1, /* gcFEATURE_BIT_REG_NewHZ */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
- 0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_Probe */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
0x1, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
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 */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
- 0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
- 0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x0, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x0, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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_FE_NEED_DUMMYDRAW */
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 */
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 */
+ 0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc2000_5108 */
+ /* gc7000L_5512 */
{
- 0x2000, /* ChipID */
- 0x5108, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x3000, /* ChipID */
+ 0x5512, /* ChipRevision */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
+ 0x3, /* PatchVersion */
0x1, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* 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 */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xb, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
- 0x1, /* gcFEATURE_BIT_REG_NoEZ */
+ 0x0, /* gcFEATURE_BIT_REG_NoEZ */
0x0, /* gcFEATURE_BIT_REG_No422Texture */
0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */
0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */
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 */
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 */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
- 0x0, /* gcFEATURE_BIT_REG_MMU */
+ 0x1, /* gcFEATURE_BIT_REG_MMU */
0x1, /* gcFEATURE_BIT_REG_WideLine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes6 */
- 0x0, /* gcFEATURE_BIT_REG_FcFlushStall */
- 0x0, /* gcFEATURE_BIT_REG_LineLoop */
- 0x0, /* gcFEATURE_BIT_REG_LogicOp */
- 0x0, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
- 0x0, /* gcFEATURE_BIT_REG_SuperTiledTexture */
- 0x0, /* gcFEATURE_BIT_REG_LinearPE */
- 0x0, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */
+ 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */
+ 0x1, /* gcFEATURE_BIT_REG_LineLoop */
+ 0x1, /* gcFEATURE_BIT_REG_LogicOp */
+ 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */
+ 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
+ 0x1, /* gcFEATURE_BIT_REG_LinearPE */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
0x0, /* gcFEATURE_BIT_REG_Composition */
- 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 */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_EndEvent */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
- 0x0, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
+ 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
- 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
- 0x0, /* gcFEATURE_BIT_REG_TileFiller */
- 0x0, /* gcFEATURE_BIT_REG_YUVStandard */
+ 0x1, /* gcFEATURE_BIT_REG_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 */
- 0x0, /* gcFEATURE_BIT_REG_Interleaver */
- 0x0, /* gcFEATURE_BIT_REG_MixedStreams */
+ 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 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 */
- 0x0, /* gcFEATURE_BIT_REG_DERotationStallFix */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
+ 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
- 0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
- 0x0, /* gcFEATURE_BIT_REG_Generics */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x1, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_FastMSAA */
0x0, /* gcFEATURE_BIT_REG_WClip */
- 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 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_ACE */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
- 0x0, /* gcFEATURE_BIT_REG_NewHZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x1, /* gcFEATURE_BIT_REG_NewHZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes16 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_Halti2 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
- 0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_Probe */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
- 0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
- 0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x0, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x0, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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_FE_NEED_DUMMYDRAW */
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 */
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 */
+ 0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc2000_5140 */
+ /* gc4000_5222 */
{
- 0x2000, /* ChipID */
- 0x5140, /* ChipRevision */
+ 0x4000, /* ChipID */
+ 0x5222, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x5, /* PatchVersion */
- 0x0, /* FormalRelease */
+ 0x0, /* PatchVersion */
+ 0x1, /* FormalRelease */
0x8, /* 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 */
+ 0x800, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0x100, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x800, /* gcFEATURE_VALUE_InstructionCount */
+ 0x200, /* 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 */
0x2, /* 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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
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 */
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_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 */
- 0x0, /* gcFEATURE_BIT_REG_Composition */
- 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
- 0x0, /* gcFEATURE_BIT_REG_PESwizzle */
+ 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
+ 0x1, /* gcFEATURE_BIT_REG_Composition */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
+ 0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x0, /* gcFEATURE_BIT_REG_S1S8 */
- 0x0, /* gcFEATURE_BIT_REG_Halti1 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
- 0x0, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
+ 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
0x0, /* gcFEATURE_BIT_REG_YUVConversion */
- 0x0, /* gcFEATURE_BIT_REG_FlushFixed2D */
+ 0x1, /* gcFEATURE_BIT_REG_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_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 */
0x0, /* gcFEATURE_BIT_REG_GeometryShader */
- 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x0, /* gcFEATURE_BIT_REG_Generics */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_FastMSAA */
0x0, /* gcFEATURE_BIT_REG_WClip */
0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_ACE */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
- 0x1, /* gcFEATURE_BIT_REG_NewHZ */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x0, /* gcFEATURE_BIT_REG_NewHZ */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
- 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc2000w_5_1_4_rc0e */
+ /* gc4000_5245 */
{
- 0x2000, /* ChipID */
- 0x5140, /* ChipRevision */
- 0x20000, /* ProductID */
+ 0x4000, /* ChipID */
+ 0x5245, /* ChipRevision */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x5, /* PatchVersion */
+ 0x0, /* PatchVersion */
0x1, /* FormalRelease */
0x8, /* 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 */
- 0x100, /* gcFEATURE_VALUE_InstructionCount */
- 0x100, /* 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 */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
0x0, /* gcFEATURE_VALUE_ShaderPCLength */
0x2, /* 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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
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 */
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_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 */
- 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 */
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 */
0x0, /* gcFEATURE_BIT_REG_FastMSAA */
0x0, /* gcFEATURE_BIT_REG_WClip */
0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
- 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_ACE */
0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
0x1, /* gcFEATURE_BIT_REG_NewHZ */
0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
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 */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
},
- /* gc2500_5422 */
+ /* gc5000_5434 */
{
- 0x2500, /* ChipID */
- 0x5422, /* ChipRevision */
+ 0x5000, /* ChipID */
+ 0x5434, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x12, /* PatchVersion */
+ 0x0, /* 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 */
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 */
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
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 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_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 */
},
- /* gc3000_5435 */
+ /* gc7000_551x */
{
- 0x3000, /* ChipID */
- 0x5435, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x5000, /* ChipID */
+ 0x5513, /* ChipRevision */
+ 0x70000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0x1, /* PatchVersion */
+ 0x0, /* 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 */
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 */
+ 0x8, /* 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 */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_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 */
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 */
0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
- 0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
- 0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x0, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x0, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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_FE_NEED_DUMMYDRAW */
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 */
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 */
+ 0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc2000_ffff5450 */
+ /* gc7000_5513 */
{
- 0x2000, /* ChipID */
- 0xffff5450, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x5000, /* ChipID */
+ 0x5513, /* ChipRevision */
+ 0x70000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x8, /* PatchVersion */
+ 0x1, /* 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 */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* 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 */
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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_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 */
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 */
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_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
- 0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+ 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
- 0x0, /* gcFEATURE_BIT_REG_TX6bitFrac */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x0, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x0, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_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 */
+ 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_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_FE_NEED_DUMMYDRAW */
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 */
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 */
+ 0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc3000_5450 */
+ /* gcXAQ2_CMODEL */
{
- 0x3000, /* ChipID */
- 0x5450, /* ChipRevision */
+ 0x7000, /* ChipID */
+ 0x0, /* ChipRevision */
0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x8, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0x0, /* PatchVersion */
+ 0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
- 0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x400, /* gcFEATURE_VALUE_ThreadCount */
- 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x200, /* gcFEATURE_VALUE_TempRegisters */
+ 0x100, /* gcFEATURE_VALUE_ThreadCount */
+ 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x8, /* gcFEATURE_VALUE_NumShaderCores */
0x2, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x4, /* gcFEATURE_VALUE_L1CacheSize */
- 0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x0, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x100, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x2, /* gcFEATURE_VALUE_NumResolvePipes */
0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_MC20 */
0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
- 0x0, /* gcFEATURE_BIT_REG_VAA */
+ 0x1, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
- 0x0, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x1, /* gcFEATURE_BIT_REG_TextureStride */
0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
0x1, /* gcFEATURE_BIT_REG_PixelDither */
0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
- 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
0x0, /* gcFEATURE_BIT_REG_New2D */
0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
0x1, /* gcFEATURE_BIT_REG_Halti0 */
- 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
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 */
+ 0x1, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
- 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x1, /* gcFEATURE_BIT_REG_Interleaver */
0x1, /* gcFEATURE_BIT_REG_MixedStreams */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
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 */
0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x1, /* gcFEATURE_BIT_REG_ACE */
+ 0x0, /* gcFEATURE_BIT_REG_ACE */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
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 */
- 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x0, /* gcFEATURE_BIT_REG_EEZ */
0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_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 */
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 */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_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 */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x0, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc3000_5451 */
+ /* gc7000XS_600x */
{
- 0x3000, /* ChipID */
- 0x5451, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6008, /* ChipRevision */
+ 0x70004, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x4, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0xb, /* PatchVersion */
+ 0x0, /* 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 */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x4, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* 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 */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_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 */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
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 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
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 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
- 0x1, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
- 0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
- 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 */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_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 */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000L_551x */
+ /* gc7000XS_6008 */
{
- 0x3000, /* ChipID */
- 0x5512, /* ChipRevision */
- 0x70002, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6008, /* ChipRevision */
+ 0x70004, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x3, /* PatchVersion */
- 0x0, /* FormalRelease */
+ 0xb, /* 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 */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x4, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* 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 */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
0x1, /* gcFEATURE_BIT_REG_Probe */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+ 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000L_5512 */
+ /* gc7000XSVX_600x */
{
- 0x3000, /* ChipID */
- 0x5512, /* ChipRevision */
- 0x70002, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6008, /* ChipRevision */
+ 0x70008, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x3, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0x0, /* PatchVersion */
+ 0x0, /* 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 */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x4, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* 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 */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
0x1, /* gcFEATURE_BIT_REG_Probe */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_ROBUSTNESS */
0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+ 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x0, /* gcFEATURE_BIT_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 */
},
- /* gc4000_5222 */
+ /* gc7000XSVX_6008 */
{
- 0x4000, /* ChipID */
- 0x5222, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6008, /* ChipRevision */
+ 0x70008, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
+ 0x7, /* PatchVersion */
0x1, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
0x8, /* gcFEATURE_VALUE_NumShaderCores */
0x2, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x800, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x800, /* gcFEATURE_VALUE_InstructionCount */
- 0x200, /* gcFEATURE_VALUE_NumberOfConstants */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
+ 0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xb, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x0, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* 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 */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_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 */
0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */
0x1, /* gcFEATURE_BIT_REG_LinearPE */
0x1, /* gcFEATURE_BIT_REG_RectPrimitive */
- 0x1, /* gcFEATURE_BIT_REG_Composition */
+ 0x0, /* gcFEATURE_BIT_REG_Composition */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */
0x1, /* gcFEATURE_BIT_REG_BugFixes7 */
0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */
- 0x0, /* gcFEATURE_BIT_REG_TextureTileStatus */
+ 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */
0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
- 0x0, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
- 0x0, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
- 0x0, /* gcFEATURE_BIT_REG_Generics */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes9 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
+ 0x1, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_FastMSAA */
0x0, /* gcFEATURE_BIT_REG_WClip */
0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
- 0x0, /* gcFEATURE_BIT_REG_UnifiedSamplers */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes11 */
- 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes12 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes14 */
+ 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
+ 0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_ACE */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
- 0x0, /* gcFEATURE_BIT_REG_NewHZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes15 */
+ 0x1, /* gcFEATURE_BIT_REG_NewHZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */
0x0, /* gcFEATURE_BIT_REG_DENoGamma */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 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_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 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_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
- 0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_Probe */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_ROBUSTNESS */
0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_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 */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_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 */
},
- /* gc4000_5245 */
+ /* gc7000XSVX_6009 */
{
- 0x4000, /* ChipID */
- 0x5245, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6009, /* ChipRevision */
+ 0x70008, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x0, /* FormalRelease */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
0x2, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
- 0x400, /* gcFEATURE_VALUE_InstructionCount */
+ 0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xf, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
- 0x0, /* gcFEATURE_VALUE_InstructionMemorySize */
- 0x0, /* gcFEATURE_VALUE_ShaderPCLength */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* 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 */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_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 */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
- 0x0, /* gcFEATURE_BIT_REG_FullDirectFB */
- 0x1, /* gcFEATURE_BIT_REG_OnePass2DFilter */
+ 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
+ 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
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 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_InstructionCache */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
- 0x0, /* gcFEATURE_BIT_REG_Generics */
+ 0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_FastMSAA */
0x0, /* gcFEATURE_BIT_REG_WClip */
0x1, /* gcFEATURE_BIT_REG_BugFixes10 */
0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */
0x1, /* gcFEATURE_BIT_REG_BugFixes11 */
- 0x0, /* gcFEATURE_BIT_REG_PerformanceCounters */
- 0x0, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
+ 0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */
+ 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements2 */
- 0x0, /* gcFEATURE_BIT_REG_PEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_DEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_ACE */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes14 */
0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */
0x1, /* gcFEATURE_BIT_REG_NewHZ */
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 */
- 0x0, /* gcFEATURE_BIT_REG_TXEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements5 */
- 0x0, /* gcFEATURE_BIT_REG_FEEnhancements2 */
+ 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
+ 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
- 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_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
- 0x0, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x0, /* gcFEATURE_BIT_REG_CSCV2 */
- 0x0, /* gcFEATURE_BIT_REG_PAEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes18 */
+ 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */
0x0, /* gcFEATURE_BIT_REG_Compression2D */
- 0x0, /* gcFEATURE_BIT_REG_Probe */
- 0x0, /* gcFEATURE_BIT_REG_MediumPrecision */
+ 0x1, /* gcFEATURE_BIT_REG_Probe */
+ 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes20 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes21 */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_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 */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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 */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc5000_5434 */
+ /* gc7000_6100 */
{
- 0x5000, /* ChipID */
- 0x5434, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6100, /* ChipRevision */
+ 0x70000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0xf, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */
0x1, /* gcFEATURE_BIT_REG_FlipY */
0x1, /* gcFEATURE_BIT_REG_DualReturnBus */
- 0x0, /* gcFEATURE_BIT_REG_EndiannessConfig */
+ 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */
0x1, /* gcFEATURE_BIT_REG_Texture8K */
0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */
0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */
0x1, /* gcFEATURE_BIT_REG_PESwizzle */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
- 0x0, /* gcFEATURE_BIT_REG_S1S8 */
+ 0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_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 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
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 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 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 */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes22 */
- 0x0, /* gcFEATURE_BIT_REG_Halti3 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti3 */
0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
- 0x0, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_Halti4 */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
- 0x0, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_RSS8 */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
0x0, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_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 */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */
0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */
0x0, /* gcFEATURE_BIT_VG_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 */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
- 0x0, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
+ 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000_551x */
+ /* gc7000L_6100 */
{
- 0x5000, /* ChipID */
- 0x5513, /* ChipRevision */
- 0x70000, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6100, /* ChipRevision */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x1, /* PatchVersion */
+ 0x0, /* PatchVersion */
0x0, /* 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 */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* 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 */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
0x1, /* gcFEATURE_BIT_REG_Probe */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
0x0, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+ 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000_5513 */
+ /* gc7000XS_6100 */
{
- 0x5000, /* ChipID */
- 0x5513, /* ChipRevision */
- 0x70000, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6100, /* ChipRevision */
+ 0x70004, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x1, /* PatchVersion */
- 0x1, /* FormalRelease */
+ 0x0, /* PatchVersion */
+ 0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* 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 */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
0x1, /* gcFEATURE_BIT_REG_Probe */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
- 0x1, /* gcFEATURE_BIT_REG_L2CacheRemove */
+ 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 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 */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 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 */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+ 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
- 0x0, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
+ 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gcXAQ2_CMODEL */
+ /* vip7000UL_6100 */
{
0x7000, /* ChipID */
- 0x0, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x6100, /* ChipRevision */
+ 0x5070003, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
- 0x200, /* gcFEATURE_VALUE_TempRegisters */
- 0x100, /* gcFEATURE_VALUE_ThreadCount */
- 0x8, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
- 0x200, /* gcFEATURE_VALUE_VertexOutputBufferSize */
+ 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x40, /* gcFEATURE_VALUE_TempRegisters */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x10, /* gcFEATURE_VALUE_VertexCacheSize */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x0, /* gcFEATURE_VALUE_L1CacheSize */
- 0x100, /* gcFEATURE_VALUE_InstructionMemorySize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
0x1, /* gcFEATURE_BIT_REG_ZCompression */
- 0x1, /* gcFEATURE_BIT_REG_YUV420Filter */
+ 0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
- 0x1, /* gcFEATURE_BIT_REG_Pipe2D */
+ 0x0, /* gcFEATURE_BIT_REG_Pipe2D */
0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_MC20 */
0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
- 0x1, /* gcFEATURE_BIT_REG_VAA */
+ 0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
- 0x1, /* gcFEATURE_BIT_REG_TextureStride */
+ 0x0, /* gcFEATURE_BIT_REG_TextureStride */
0x1, /* gcFEATURE_BIT_REG_BugFixes3 */
0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */
0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */
0x1, /* gcFEATURE_BIT_REG_PixelDither */
0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */
0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */
- 0x0, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
+ 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */
0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */
0x1, /* gcFEATURE_BIT_REG_BugFixes5 */
0x0, /* gcFEATURE_BIT_REG_New2D */
0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */
0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */
0x1, /* gcFEATURE_BIT_REG_Halti0 */
- 0x1, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
+ 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */
0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */
0x1, /* gcFEATURE_BIT_REG_ResolveOffset */
0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */
0x1, /* gcFEATURE_BIT_REG_EndEvent */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
- 0x1, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_RGB888 */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */
0x1, /* gcFEATURE_BIT_REG_TileFiller */
0x1, /* gcFEATURE_BIT_REG_YUVStandard */
- 0x1, /* gcFEATURE_BIT_REG_MultiSourceBlt */
- 0x1, /* gcFEATURE_BIT_REG_YUVConversion */
+ 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */
+ 0x0, /* gcFEATURE_BIT_REG_YUVConversion */
0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */
0x1, /* gcFEATURE_BIT_REG_Interleaver */
0x1, /* gcFEATURE_BIT_REG_MixedStreams */
0x1, /* gcFEATURE_BIT_REG_BugFixes8 */
0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
- 0x0, /* gcFEATURE_BIT_REG_NewFeatures0 */
+ 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x1, /* gcFEATURE_BIT_REG_BugFixes12 */
0x1, /* gcFEATURE_BIT_REG_BugFixes13 */
0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */
- 0x0, /* gcFEATURE_BIT_REG_ACE */
+ 0x1, /* gcFEATURE_BIT_REG_ACE */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */
0x1, /* gcFEATURE_BIT_REG_BugFixes16 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
- 0x1, /* gcFEATURE_BIT_REG_PEEnhancements4 */
+ 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes17 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */
0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */
0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements6 */
- 0x0, /* gcFEATURE_BIT_REG_SHEnhancements7 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
+ 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_DEAddress40 */
0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */
- 0x0, /* gcFEATURE_BIT_REG_EEZ */
+ 0x1, /* gcFEATURE_BIT_REG_EEZ */
0x1, /* gcFEATURE_BIT_REG_BugFixes21 */
0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
- 0x0, /* gcFEATURE_BIT_REG_HasChipProductReg */
+ 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
- 0x0, /* gcFEATURE_BIT_REG_BugFixesIn544 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
- 0x1, /* gcFEATURE_BIT_REG_CubeMapFL28 */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
+ 0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */
0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */
- 0x0, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
+ 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
- 0x0, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
+ 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_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 */
0x0, /* gcFEATURE_BIT_ROBUSTNESS */
0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_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 */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
- 0x0, /* gcFEATURE_BIT_DRAWID */
+ 0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XS_600x */
+ /* gc7000_6200 */
{
0x7000, /* ChipID */
- 0x6008, /* ChipRevision */
- 0x70004, /* ProductID */
+ 0x6200, /* ChipRevision */
+ 0x70000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0xb, /* PatchVersion */
+ 0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x28, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x28, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_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_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
- 0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XS_6008 */
+ /* gc7000UL_6200 */
{
0x7000, /* ChipID */
- 0x6008, /* ChipRevision */
- 0x70004, /* ProductID */
+ 0x6200, /* ChipRevision */
+ 0x70003, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0xb, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x0, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_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_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
- 0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XSVX_600x */
+ /* gc7000ULVX_6200 */
{
0x7000, /* ChipID */
- 0x6008, /* ChipRevision */
- 0x70008, /* ProductID */
+ 0x6200, /* ChipRevision */
+ 0x7000f, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
- 0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
- 0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+ 0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+ 0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
- 0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XSVX_6008 */
+ /* vip7000L_6200 */
{
0x7000, /* ChipID */
- 0x6008, /* ChipRevision */
- 0x70008, /* ProductID */
+ 0x6200, /* ChipRevision */
+ 0x5070002, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x7, /* PatchVersion */
- 0x1, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x0, /* PatchVersion */
+ 0x0, /* FormalRelease */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x400, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x4, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
- 0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XSVX_6009 */
+ /* vip7000UL_6200 */
{
0x7000, /* ChipID */
- 0x6009, /* ChipRevision */
- 0x70008, /* ProductID */
+ 0x6200, /* ChipRevision */
+ 0x5070003, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000_6100 */
+ /* vip7000UL_6211 */
{
0x7000, /* ChipID */
- 0x6100, /* ChipRevision */
- 0x70000, /* ProductID */
+ 0x6211, /* ChipRevision */
+ 0x5070003, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x21, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x20, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x20, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x1, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x1, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000L_6100 */
+ /* vip8000UL_6200 */
{
- 0x7000, /* ChipID */
- 0x6100, /* ChipRevision */
- 0x70002, /* ProductID */
+ 0x8000, /* ChipID */
+ 0x6200, /* ChipRevision */
+ 0x5080003, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x21, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x400, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x4, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x40, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x1, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x6, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x1, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x1, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XS_6100 */
+ /* gc7400_551x */
{
- 0x7000, /* ChipID */
- 0x6100, /* ChipRevision */
- 0x70004, /* ProductID */
+ 0x7400, /* ChipID */
+ 0x5515, /* ChipRevision */
+ 0x74000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
- 0x0, /* PatchVersion */
+ 0x6, /* PatchVersion */
0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
- 0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x4, /* gcFEATURE_VALUE_CoreCount */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 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 */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_Pipe2D */
- 0x0, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
+ 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */
0x1, /* gcFEATURE_BIT_REG_FastScaler */
0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */
0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
0x1, /* gcFEATURE_BIT_REG_Probe */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
- 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x1, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x0, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
0x1, /* gcFEATURE_BIT_REG_BltEngine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_RenderTarget8 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
- 0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
+ 0x1, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
0x0, /* gcFEATURE_BIT_VMSAA */
- 0x0, /* gcFEATURE_BIT_ChipEnableLink */
+ 0x1, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
- 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_NEW_GPIPE */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x0, /* gcFEATURE_BIT_SECURITY */
0x0, /* gcFEATURE_BIT_ROBUSTNESS */
0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x0, /* gcFEATURE_BIT_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_USC_GOS_ADDR_FIX */
0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
- 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
- 0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+ 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
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 */
+ 0x1, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* vip7000UL_6100 */
+ /* gc8000UL_6200 */
{
- 0x7000, /* ChipID */
- 0x6100, /* ChipRevision */
- 0x5070003, /* ProductID */
+ 0x8000, /* ChipID */
+ 0x6200, /* ChipRevision */
+ 0x80003, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x10, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
- 0x0, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
- 0x0, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
- 0x0, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000_6200 */
+ /* v630 */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
- 0x70000, /* ProductID */
+ 0x6300, /* ChipRevision */
+ 0x0, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x28, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x28, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
- 0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
+ 0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
0x0, /* gcFEATURE_BIT_VG_FP25 */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000UL_6200 */
+ /* gc7000XS_6200 */
{
0x7000, /* ChipID */
0x6200, /* ChipRevision */
- 0x70003, /* ProductID */
+ 0x70004, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x8, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x10, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
- 0x1, /* gcFEATURE_BIT_REG_BugFixes23 */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000ULVX_6200 */
+ /* gc7000L_6200 */
{
0x7000, /* ChipID */
0x6200, /* ChipRevision */
- 0x7000f, /* ProductID */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* 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 */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
- 0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
- 0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+ 0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+ 0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* vip7000L_6200 */
+ /* gc7000LXS_6200 */
{
0x7000, /* ChipID */
0x6200, /* ChipRevision */
- 0x5070002, /* ProductID */
+ 0x7000a, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x400, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
0x4, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x20, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x20, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* vip7000UL_6200 */
+ /* vip7000_6200 */
{
0x7000, /* ChipID */
0x6200, /* ChipRevision */
- 0x5070003, /* ProductID */
+ 0x5070000, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x8, /* gcFEATURE_VALUE_NumShaderCores */
0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x10, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x1f, /* gcFEATURE_VALUE_VaryingCount */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x40, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7400_551x */
+ /* gc7000ULVX_V11_6200 */
{
- 0x7400, /* ChipID */
- 0x5515, /* ChipRevision */
- 0x74000, /* ProductID */
+ 0x7000, /* ChipID */
+ 0x6200, /* ChipRevision */
+ 0x7000f, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
- 0x6, /* PatchVersion */
+ 0x1, /* CustomerID */
+ 0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
- 0x2, /* gcFEATURE_VALUE_CoreCount */
+ 0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x0, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
- 0x2, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x0, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x1, /* gcFEATURE_VALUE_NumResolvePipes */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x1, /* gcFEATURE_BIT_REG_BugFixes0 */
0x0, /* gcFEATURE_BIT_REG_VAA */
0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */
- 0x1, /* gcFEATURE_BIT_REG_HierarchicalZ */
+ 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */
0x0, /* gcFEATURE_BIT_REG_NewTexture */
0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */
0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */
- 0x0, /* gcFEATURE_BIT_REG_HIEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */
0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */
0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */
0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */
- 0x0, /* gcFEATURE_BIT_REG_MCEnhancements1 */
+ 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */
0x1, /* gcFEATURE_BIT_REG_Halti2 */
0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */
0x1, /* gcFEATURE_BIT_REG_SmallMSAA */
0x1, /* gcFEATURE_BIT_REG_Probe */
0x1, /* gcFEATURE_BIT_REG_MediumPrecision */
0x0, /* gcFEATURE_BIT_REG_DESupertile */
- 0x0, /* gcFEATURE_BIT_REG_BugFixes19 */
+ 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */
0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */
0x1, /* gcFEATURE_BIT_REG_BugFixes20 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_Halti4 */
- 0x0, /* gcFEATURE_BIT_REG_RAWriteDepth */
+ 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */
0x0, /* gcFEATURE_BIT_REG_AndroidOnly */
0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */
0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */
- 0x0, /* gcFEATURE_BIT_REG_S8MSAACompression */
+ 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */
0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */
0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */
0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */
0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
- 0x0, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_Halti5 */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_RenderTarget8 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
- 0x1, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x1, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
+ 0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
0x0, /* gcFEATURE_BIT_VMSAA */
- 0x1, /* gcFEATURE_BIT_ChipEnableLink */
+ 0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
- 0x0, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
+ 0x1, /* 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 */
+ 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
+ 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
+ 0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
0x0, /* gcFEATURE_BIT_HWTFB */
- 0x0, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
- 0x0, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MCFILL_FIX */
- 0x0, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
- 0x0, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
+ 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */
+ 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
- 0x0, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
- 0x0, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
- 0x0, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */
- 0x0, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
+ 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */
0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */
- 0x0, /* gcFEATURE_BIT_SH_FIX_LDEXP */
+ 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */
0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */
- 0x0, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
- 0x0, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
- 0x0, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
- 0x0, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
- 0x0, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
- 0x0, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
- 0x0, /* gcFEATURE_BIT_SECURITY */
- 0x0, /* gcFEATURE_BIT_ROBUSTNESS */
- 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
- 0x0, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
- 0x0, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
- 0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
- 0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
- 0x0, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
- 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac */
- 0x0, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
- 0x0, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
- 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
+ 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
+ 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
+ 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
+ 0x1, /* gcFEATURE_BIT_SECURITY */
+ 0x1, /* gcFEATURE_BIT_ROBUSTNESS */
+ 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+ 0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+ 0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+ 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
+ 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
+ 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */
+ 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */
0x1, /* gcFEATURE_BIT_DRAWID */
- 0x0, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
- 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
- 0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+ 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
+ 0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_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_VG_PE_YUV_PACKET */
0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */
0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */
- 0x0, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
- 0x0, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
+ 0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */
+ 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
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 */
},
- /* gc8000UL_6200 */
+ /* gc7000ULVX_V12_6200 */
{
- 0x8000, /* ChipID */
+ 0x7000, /* ChipID */
0x6200, /* ChipRevision */
- 0x80003, /* ProductID */
+ 0x7000f, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x2, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x8, /* gcFEATURE_VALUE_Streams */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x8, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x8, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x1, /* gcFEATURE_BIT_VMSAA */
+ 0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x1, /* gcFEATURE_BIT_V4Compression */
+ 0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
0x0, /* gcFEATURE_BIT_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 */
},
- /* v630 */
+ /* gc7000ULVX_6200_pid0x60 */
{
0x7000, /* ChipID */
- 0x6300, /* ChipRevision */
- 0x0, /* ProductID */
+ 0x6203, /* ChipRevision */
+ 0x7000f, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x60, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x800, /* gcFEATURE_VALUE_ThreadCount */
+ 0x200, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x8, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumShaderCores */
0x1, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x20, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x1, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x0, /* gcFEATURE_BIT_REG_ZCompression */
0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x1, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x0, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x1, /* gcFEATURE_BIT_VMSAA */
+ 0x0, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x1, /* gcFEATURE_BIT_V4Compression */
+ 0x0, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */
0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */
- 0x1, /* gcFEATURE_BIT_MULTI_CLUSTER */
+ 0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */
0x0, /* gcFEATURE_BIT_VG_TS_CULLING */
0x0, /* gcFEATURE_BIT_VG_FP25 */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XS_6200 */
+ /* gc7000XS_6FFF */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
+ 0x6fff, /* ChipRevision */
0x70004, /* ProductID */
0x0, /* EcoID */
0x0, /* CustomerID */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000L_6200 */
+ /* gc7000_6210 */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
- 0x70002, /* ProductID */
+ 0x6210, /* ChipRevision */
+ 0x70000, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x6, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* 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 */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
0x0, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
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 */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+ 0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+ 0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+ 0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000LXS_6200 */
+ /* gc7000_6210 */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
- 0x7000a, /* ProductID */
+ 0x6210, /* ChipRevision */
+ 0x70000, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0xa, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* 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 */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x20, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
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 */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+ 0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+ 0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+ 0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
- 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
- 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+ 0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* vip7000_6200 */
+ /* gc7000XS_6210 */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
- 0x5070000, /* ProductID */
+ 0x6210, /* ChipRevision */
+ 0x70004, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x8, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
0x8, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x40, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_CorrectStencil */
0x1, /* gcFEATURE_BIT_REG_EnhanceVR */
0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */
- 0x1, /* gcFEATURE_BIT_REG_V2Compression */
+ 0x0, /* gcFEATURE_BIT_REG_V2Compression */
0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */
0x1, /* gcFEATURE_BIT_REG_BugFixes1 */
0x1, /* gcFEATURE_BIT_REG_BugFixes2 */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
- 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */
+ 0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
- 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */
+ 0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */
0x0, /* gcFEATURE_BIT_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 */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+ 0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+ 0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+ 0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
- 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
- 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+ 0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000ULVX_V11_6200 */
+ /* gc7000XS_6210 */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
- 0x7000f, /* ProductID */
+ 0x6210, /* ChipRevision */
+ 0x70004, /* ProductID */
0x0, /* EcoID */
- 0x1, /* CustomerID */
+ 0xc, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
- 0x200, /* gcFEATURE_VALUE_ThreadCount */
+ 0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
- 0x2, /* gcFEATURE_VALUE_NumShaderCores */
- 0x1, /* gcFEATURE_VALUE_NumPixelPipes */
+ 0x8, /* gcFEATURE_VALUE_NumShaderCores */
+ 0x2, /* gcFEATURE_VALUE_NumPixelPipes */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x0, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x1, /* gcFEATURE_BIT_REG_S1S8 */
0x1, /* gcFEATURE_BIT_REG_Halti1 */
0x0, /* gcFEATURE_BIT_REG_RGB888 */
- 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
+ 0x0, /* gcFEATURE_BIT_REG_TX_YUVAssembler */
0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */
0x0, /* gcFEATURE_BIT_REG_TXFilter */
0x1, /* gcFEATURE_BIT_REG_FullDirectFB */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */
0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_DP32 */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_FILTER */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_IADD */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
- 0x1, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
- 0x1, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */
+ 0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */
+ 0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */
0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */
0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */
0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
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 */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+ 0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+ 0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+ 0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
- 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
- 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+ 0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000ULVX_V12_6200 */
+ /* gc7000L_6210 */
{
0x7000, /* ChipID */
- 0x6200, /* ChipRevision */
- 0x7000f, /* ProductID */
+ 0x6210, /* ChipRevision */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
- 0x2, /* CustomerID */
+ 0x5, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x8, /* gcFEATURE_VALUE_Streams */
+ 0x10, /* 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 */
0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
- 0x10, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_DXTTextureCompression */
0x0, /* gcFEATURE_BIT_REG_DebugMode */
- 0x0, /* gcFEATURE_BIT_REG_ZCompression */
+ 0x1, /* gcFEATURE_BIT_REG_ZCompression */
0x0, /* gcFEATURE_BIT_REG_YUV420Filter */
0x1, /* gcFEATURE_BIT_REG_MSAA */
0x0, /* gcFEATURE_BIT_REG_DC */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
- 0x0, /* gcFEATURE_BIT_REG_BltEngine */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_REG_DEC */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
- 0x0, /* gcFEATURE_BIT_VMSAA */
+ 0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */
- 0x0, /* gcFEATURE_BIT_V4Compression */
+ 0x1, /* gcFEATURE_BIT_V4Compression */
0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
0x0, /* gcFEATURE_BIT_MSAA_SHADING */
- 0x1, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
+ 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */
0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */
0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */
- 0x1, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
+ 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */
0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */
0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */
0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
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 */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+ 0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+ 0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+ 0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
+ 0x1, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
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 */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XS_6FFF */
+ /* gc7000L_6210 */
{
0x7000, /* ChipID */
- 0x6fff, /* ChipRevision */
- 0x70004, /* ProductID */
+ 0x6210, /* ChipRevision */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x9, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* 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 */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
- 0x1f, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x20, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_VaryingCount */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
- 0x1, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */
0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */
0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */
- 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
+ 0x0, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */
0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */
0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */
0x1, /* gcFEATURE_BIT_SECURITY */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
0x1, /* gcFEATURE_BIT_SNAPPAGE_CMD */
- 0x0, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
- 0x0, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
- 0x0, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
+ 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */
+ 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */
+ 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */
0x0, /* gcFEATURE_BIT_COMPUTE_ONLY */
0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */
0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */
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 */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */
+ 0x1, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */
+ 0x1, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */
+ 0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
+ 0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
- 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
- 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+ 0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000_6210 */
+ /* gc7000LXS_6210 */
{
0x7000, /* ChipID */
0x6210, /* ChipRevision */
- 0x70000, /* ProductID */
+ 0x7000a, /* ProductID */
0x0, /* EcoID */
- 0x6, /* CustomerID */
+ 0x0, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* 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 */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x10, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
- 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
- 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+ 0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XS_6210 */
+ /* gc7000XSVX_6210 */
{
0x7000, /* ChipID */
0x6210, /* ChipRevision */
- 0x70004, /* ProductID */
+ 0x70008, /* ProductID */
0x0, /* EcoID */
- 0x8, /* CustomerID */
+ 0x7, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x30, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x10, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000L_6210 */
+ /* gc7000XSVX_6210 */
{
0x7000, /* ChipID */
0x6210, /* ChipRevision */
- 0x70002, /* ProductID */
+ 0x70008, /* ProductID */
0x0, /* EcoID */
- 0x5, /* CustomerID */
+ 0xb, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* 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 */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x8, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x20, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x0, /* gcFEATURE_BIT_REG_Evis */
+ 0x1, /* gcFEATURE_BIT_REG_Evis */
0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x1, /* gcFEATURE_BIT_NO_ASTC */
+ 0x0, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x0, /* gcFEATURE_BIT_HWTFB */
+ 0x1, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */
0x1, /* gcFEATURE_BIT_FE_ROBUST_FIX */
0x1, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */
- 0x1, /* gcFEATURE_BIT_PSIO_INTERLOCK */
+ 0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */
0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */
- 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
+ 0x1, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */
0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */
- 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
+ 0x1, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */
0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */
0x0, /* gcFEATURE_BIT_G2D_DEC400 */
- 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
- 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
- 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
+ 0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
+ 0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x1, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000LXS_6210 */
+ /* gc7000L_DEC400 */
{
0x7000, /* ChipID */
- 0x6210, /* ChipRevision */
- 0x7000a, /* ProductID */
+ 0x6213, /* ChipRevision */
+ 0x70002, /* ProductID */
0x0, /* EcoID */
- 0x0, /* CustomerID */
+ 0x30, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
0x10, /* gcFEATURE_VALUE_Streams */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
0x1, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x30, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
0x8, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x30, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
0x1, /* gcFEATURE_BIT_VMSAA */
0x0, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x1, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
- /* gc7000XSVX_6210 */
+ /* gc7400_0002 */
{
- 0x7000, /* ChipID */
- 0x6210, /* ChipRevision */
- 0x70008, /* ProductID */
+ 0x7400, /* ChipID */
+ 0x6213, /* ChipRevision */
+ 0x74000, /* ProductID */
0x0, /* EcoID */
- 0x7, /* CustomerID */
+ 0xd, /* CustomerID */
0x0, /* PatchVersion */
0x0, /* FormalRelease */
- 0x10, /* gcFEATURE_VALUE_Streams */
+ 0x8, /* gcFEATURE_VALUE_Streams */
0x40, /* gcFEATURE_VALUE_TempRegisters */
0x800, /* gcFEATURE_VALUE_ThreadCount */
0x10, /* gcFEATURE_VALUE_VertexCacheSize */
0x0, /* gcFEATURE_VALUE_BufferSize */
0x200, /* gcFEATURE_VALUE_InstructionCount */
0x140, /* gcFEATURE_VALUE_NumberOfConstants */
- 0x1, /* gcFEATURE_VALUE_CoreCount */
+ 0x4, /* gcFEATURE_VALUE_CoreCount */
0x10, /* gcFEATURE_VALUE_VaryingCount */
- 0x40, /* gcFEATURE_VALUE_LocalStorageSize */
- 0x20, /* gcFEATURE_VALUE_L1CacheSize */
+ 0x10, /* gcFEATURE_VALUE_LocalStorageSize */
+ 0x10, /* gcFEATURE_VALUE_L1CacheSize */
0x200, /* gcFEATURE_VALUE_InstructionMemorySize */
0x14, /* gcFEATURE_VALUE_ShaderPCLength */
0x1, /* gcFEATURE_VALUE_NumResolvePipes */
- 0x40, /* gcFEATURE_VALUE_USC_MAX_PAGES */
+ 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */
0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */
+ 0x0, /* gcFEATURE_VALUE_NNMadPerCore */
+ 0x0, /* gcFEATURE_VALUE_NNCoreCount */
+ 0x0, /* gcFEATURE_VALUE_NNInputBufferDepth */
+ 0x0, /* gcFEATURE_VALUE_NNAccumBufferDepth */
0x1, /* gcFEATURE_BIT_REG_FastClear */
0x0, /* gcFEATURE_BIT_REG_SpecialAntiAliasing */
0x1, /* gcFEATURE_BIT_REG_Pipe3D */
0x0, /* gcFEATURE_BIT_REG_OclOnly */
0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */
0x1, /* gcFEATURE_BIT_REG_InstructionCache */
- 0x1, /* gcFEATURE_BIT_REG_GeometryShader */
+ 0x0, /* gcFEATURE_BIT_REG_GeometryShader */
0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */
0x1, /* gcFEATURE_BIT_REG_Generics */
0x1, /* gcFEATURE_BIT_REG_BugFixes9 */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */
0x1, /* gcFEATURE_BIT_REG_BugFixes22 */
0x1, /* gcFEATURE_BIT_REG_Halti3 */
- 0x1, /* gcFEATURE_BIT_REG_TessellationShaders */
+ 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */
0x0, /* gcFEATURE_BIT_REG_OPF9Tap */
0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */
0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */
0x1, /* gcFEATURE_BIT_REG_RSS8 */
0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */
0x1, /* gcFEATURE_BIT_REG_Halti5 */
- 0x1, /* gcFEATURE_BIT_REG_Evis */
+ 0x0, /* gcFEATURE_BIT_REG_Evis */
0x1, /* gcFEATURE_BIT_REG_BltEngine */
0x0, /* gcFEATURE_BIT_REG_BugFixes23 */
0x0, /* gcFEATURE_BIT_REG_BugFixes24 */
0x0, /* gcFEATURE_BIT_RenderTarget8 */
0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */
0x0, /* gcFEATURE_BIT_FaceLod */
- 0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
- 0x0, /* gcFEATURE_BIT_MultiCoreBlockSetConfig */
+ 0x1, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */
0x1, /* gcFEATURE_BIT_VMSAA */
- 0x0, /* gcFEATURE_BIT_ChipEnableLink */
+ 0x1, /* gcFEATURE_BIT_ChipEnableLink */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */
0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */
0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */
0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */
0x1, /* gcFEATURE_BIT_NEW_GPIPE */
0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */
- 0x1, /* gcFEATURE_BIT_MSAA_SHADING */
+ 0x0, /* gcFEATURE_BIT_MSAA_SHADING */
0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */
- 0x0, /* gcFEATURE_BIT_NO_ASTC */
+ 0x1, /* gcFEATURE_BIT_NO_ASTC */
0x0, /* gcFEATURE_BIT_NO_DXT */
- 0x1, /* gcFEATURE_BIT_HWTFB */
+ 0x0, /* gcFEATURE_BIT_HWTFB */
0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */
0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */
0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */
0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */
0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */
0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */
- 0x1, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
+ 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */
0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */
0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */
0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */
0x1, /* gcFEATURE_BIT_DRAWID */
0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */
0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */
- 0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
+ 0x1, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */
0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */
0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */
0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */
0x1, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */
0x1, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */
0x1, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */
+ 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */
+ 0x1, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */
+ 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */
+ 0x1, /* gcFEATURE_BIT_RA_CG_FIX */
+ 0x0, /* gcFEATURE_BIT_EVIS_VX2 */
+ 0x0, /* gcFEATURE_BIT_NN_FLOAT */
+ 0x0, /* gcFEATURE_BIT_DEC400 */
+ 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */
},
};