| /**************************************************************************** |
| * |
| * The MIT License (MIT) |
| * |
| * Copyright (c) 2014 - 2019 Vivante Corporation |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a |
| * copy of this software and associated documentation files (the "Software"), |
| * to deal in the Software without restriction, including without limitation |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| * and/or sell copies of the Software, and to permit persons to whom the |
| * Software is furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included in |
| * all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| * DEALINGS IN THE SOFTWARE. |
| * |
| ***************************************************************************** |
| * |
| * The GPL License (GPL) |
| * |
| * Copyright (C) 2014 - 2019 Vivante Corporation |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version 2 |
| * of the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software Foundation, |
| * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| * |
| ***************************************************************************** |
| * |
| * Note: This software is released under dual MIT and GPL licenses. A |
| * recipient may use this file under the terms of either the MIT license or |
| * GPL License. If you wish to use only one license not the other, you can |
| * indicate your decision by deleting one of the above license notices in your |
| * version of this file. |
| * |
| *****************************************************************************/ |
| |
| |
| /*Auto created on 2020-06-23 16:44*/ |
| #ifndef _gc_feature_database_h_ |
| #define _gc_feature_database_h_ |
| |
| typedef struct |
| { |
| /* Chip ID. */ |
| gctUINT32 chipID; |
| gctUINT32 chipVersion; |
| gctUINT32 productID; |
| gctUINT32 ecoID; |
| gctUINT32 customerID; |
| gctUINT32 patchVersion; |
| const char *productName; |
| gctUINT32 formalRelease; |
| gctUINT32 TempRegisters; |
| gctUINT32 ThreadCount; |
| gctUINT32 NumShaderCores; |
| gctUINT32 InstructionCount; |
| gctUINT32 NumberOfConstants; |
| gctUINT32 CoreCount; |
| gctUINT32 LocalStorageSize; |
| gctUINT32 LocalStorageSize_1; |
| gctUINT32 LocalStorageSize_2; |
| gctUINT32 L1CacheSize; |
| gctUINT32 L1CacheSize_1; |
| gctUINT32 L1CacheSize_2; |
| gctUINT32 InstructionMemorySize; |
| gctUINT32 ShaderPCLength; |
| gctUINT32 USC_MAX_PAGES; |
| gctUINT32 USC_MAX_PAGES_1; |
| gctUINT32 USC_MAX_PAGES_2; |
| gctUINT32 NumPixelPipes; |
| gctUINT32 USC_CACHE_CONTROLLERS; |
| gctUINT32 USC_CACHE_CONTROLLERS_1; |
| gctUINT32 USC_CACHE_CONTROLLERS_2; |
| gctUINT32 USC_BANKS; |
| gctUINT32 USC_BANKS_1; |
| gctUINT32 USC_BANKS_2; |
| gctUINT32 Streams; |
| gctUINT32 VaryingCount; |
| gctUINT32 VertexOutputBufferSize; |
| gctUINT32 BufferSize; |
| gctUINT32 VertexCacheSize; |
| gctUINT32 NumResolvePipes; |
| gctUINT32 RESULT_WINDOW_MAX_SIZE; |
| gctUINT32 ClusterAliveMask; |
| gctUINT32 G2D_DEC400_MINOR; |
| gctUINT32 NNMadPerCore; |
| gctUINT32 NNCoreCount; |
| gctUINT32 NNCoreCount_INT8; |
| gctUINT32 NNCoreCount_INT16; |
| gctUINT32 NNCoreCount_FLOAT16; |
| gctUINT32 NNCoreCount_BFLOAT; |
| gctUINT32 NNInputBufferDepth; |
| gctUINT32 NNAccumBufferDepth; |
| gctUINT32 TPEngine_PwlLUTCount; |
| gctUINT32 TPEngine_PwlLUTSize; |
| gctUINT32 VIP_SRAM_SIZE; |
| gctUINT32 TPEngine_CoreCount; |
| gctUINT32 AXI_SRAM_SIZE; |
| gctUINT32 NN_INIMAGE_OFFSET_BITS; |
| gctUINT32 TP_REORDER_INIMAGE_SIZE; |
| gctUINT32 TPLite_CoreCount; |
| gctUINT32 NNFP16_XYDP_X; |
| gctUINT32 NNFP16_XYDP_Y; |
| gctUINT32 NNFP16_ZDP; |
| gctUINT32 NN_LANES_PER_OUT_CYCLE; |
| gctUINT32 MAX_OT_NUMBER; |
| gctUINT32 PHYSICAL_VIP_SRAM_WIDTH_IN_BYTE; |
| gctUINT32 EQUIVALENT_VIP_SRAM_WIDTH_INBYTE; |
| gctUINT32 TP_ZRL_BITS; |
| gctUINT32 NN_ZRL_BITS; |
| gctUINT32 LATENCY_HIDING_AT_FULL_AXI_BW; |
| gctUINT32 AXI_BUS_WIDTH; |
| gctUINT32 NN_KERNEL_X_SIZE; |
| gctUINT32 NN_KERNEL_Y_SIZE; |
| gctUINT32 NN_FC_KERNEL_Y_SIZE; |
| gctUINT32 NN_KERNEL_Z_SIZE; |
| gctUINT32 NN_X_OFFSET; |
| gctUINT32 NN_Y_OFFSET; |
| gctUINT32 DDR_KERNEL_BURST_SIZE; |
| gctUINT32 OUTIMAGE_X_STRIDE_BITS; |
| gctUINT32 OUTIMAGE_Y_STRIDE_BITS; |
| gctUINT32 INIMAGE_X_STRIDE_BITS; |
| gctUINT32 IMIMAGE_Y_STRIDE_BITS; |
| gctUINT32 OUTIMAGE_X_SIZE_BITS; |
| gctUINT32 OUTIMAGE_Y_SIZE_BITS; |
| gctUINT32 OUTIMAGE_SIZE_BITS; |
| gctUINT32 IMAGE_X_SIZE_BITS; |
| gctUINT32 INIMAGE_Y_SIZE_BITS; |
| gctUINT32 MAX_TILE_X_SIZE; |
| gctUINT32 REG_FastClear:1; |
| gctUINT32 REG_SpecialAntiAliasing:1; |
| gctUINT32 REG_Pipe3D:1; |
| gctUINT32 REG_DXTTextureCompression:1; |
| gctUINT32 REG_DebugMode:1; |
| gctUINT32 REG_ZCompression:1; |
| gctUINT32 REG_YUV420Filter:1; |
| gctUINT32 REG_MSAA:1; |
| gctUINT32 REG_DC:1; |
| gctUINT32 REG_Pipe2D:1; |
| gctUINT32 REG_ETC1TextureCompression:1; |
| gctUINT32 REG_FastScaler:1; |
| gctUINT32 REG_HighDynamicRange:1; |
| gctUINT32 REG_YUV420Tiler:1; |
| gctUINT32 REG_ModuleCG:1; |
| gctUINT32 REG_MinArea:1; |
| gctUINT32 REG_NoEZ:1; |
| gctUINT32 REG_No422Texture:1; |
| gctUINT32 REG_BufferInterleaving:1; |
| gctUINT32 REG_ByteWrite2D:1; |
| gctUINT32 REG_NoScaler:1; |
| gctUINT32 REG_YUY2Averaging:1; |
| gctUINT32 REG_HalfPECache:1; |
| gctUINT32 REG_HalfTXCache:1; |
| gctUINT32 REG_YUY2RenderTarget:1; |
| gctUINT32 REG_Mem32BitSupport:1; |
| gctUINT32 REG_PipeVG:1; |
| gctUINT32 REG_VGTS:1; |
| gctUINT32 REG_FE20:1; |
| gctUINT32 REG_ByteWrite3D:1; |
| gctUINT32 REG_RsYuvTarget:1; |
| gctUINT32 REG_FE20BitIndex:1; |
| gctUINT32 REG_FlipY:1; |
| gctUINT32 REG_DualReturnBus:1; |
| gctUINT32 REG_EndiannessConfig:1; |
| gctUINT32 REG_Texture8K:1; |
| gctUINT32 REG_CorrectTextureConverter:1; |
| gctUINT32 REG_SpecialMsaaLod:1; |
| gctUINT32 REG_FastClearFlush:1; |
| gctUINT32 REG_2DPE20:1; |
| gctUINT32 REG_CorrectAutoDisable:1; |
| gctUINT32 REG_Render8K:1; |
| gctUINT32 REG_TileStatus2Bits:1; |
| gctUINT32 REG_SeparateTileStatusWhenInterleaved:1; |
| gctUINT32 REG_SuperTiled32x32:1; |
| gctUINT32 REG_VG20:1; |
| gctUINT32 REG_TSExtendedCommands:1; |
| gctUINT32 REG_CompressionFifoFixed:1; |
| gctUINT32 REG_ExtraShaderInstructions0:1; |
| gctUINT32 REG_VGFilter:1; |
| gctUINT32 REG_VG21:1; |
| gctUINT32 REG_ShaderGetsW:1; |
| gctUINT32 REG_ExtraShaderInstructions1:1; |
| gctUINT32 REG_DefaultReg0:1; |
| gctUINT32 REG_MC20:1; |
| gctUINT32 REG_ShaderMSAASideband:1; |
| gctUINT32 REG_BugFixes0:1; |
| gctUINT32 REG_VAA:1; |
| gctUINT32 REG_BypassInMSAA:1; |
| gctUINT32 REG_HierarchicalZ:1; |
| gctUINT32 REG_NewTexture:1; |
| gctUINT32 REG_A8TargetSupport:1; |
| gctUINT32 REG_CorrectStencil:1; |
| gctUINT32 REG_EnhanceVR:1; |
| gctUINT32 REG_RSUVSwizzle:1; |
| gctUINT32 REG_V2Compression:1; |
| gctUINT32 REG_VGDoubleBuffer:1; |
| gctUINT32 REG_BugFixes1:1; |
| gctUINT32 REG_BugFixes2:1; |
| gctUINT32 REG_TextureStride:1; |
| gctUINT32 REG_BugFixes3:1; |
| gctUINT32 REG_CorrectAutoDisable1:1; |
| gctUINT32 REG_AutoRestartTS:1; |
| gctUINT32 REG_BugFixes4:1; |
| gctUINT32 REG_L2Windowing:1; |
| gctUINT32 REG_HalfFloatPipe:1; |
| gctUINT32 REG_PixelDither:1; |
| gctUINT32 REG_TwoStencilReference:1; |
| gctUINT32 REG_ExtendedPixelFormat:1; |
| gctUINT32 REG_CorrectMinMaxDepth:1; |
| gctUINT32 REG_DitherAndFilterPlusAlpha2D:1; |
| gctUINT32 REG_BugFixes5:1; |
| gctUINT32 REG_New2D:1; |
| gctUINT32 REG_NewFloatingPointArithmetic:1; |
| gctUINT32 REG_TextureHorizontalAlignmentSelect:1; |
| gctUINT32 REG_NonPowerOfTwo:1; |
| gctUINT32 REG_LinearTextureSupport:1; |
| gctUINT32 REG_Halti0:1; |
| gctUINT32 REG_CorrectOverflowVG:1; |
| gctUINT32 REG_NegativeLogFix:1; |
| gctUINT32 REG_ResolveOffset:1; |
| gctUINT32 REG_OkToGateAxiClock:1; |
| gctUINT32 REG_MMU:1; |
| gctUINT32 REG_WideLine:1; |
| gctUINT32 REG_BugFixes6:1; |
| gctUINT32 REG_FcFlushStall:1; |
| gctUINT32 REG_LineLoop:1; |
| gctUINT32 REG_LogicOp:1; |
| gctUINT32 REG_SeamlessCubeMap:1; |
| gctUINT32 REG_SuperTiledTexture:1; |
| gctUINT32 REG_LinearPE:1; |
| gctUINT32 REG_RectPrimitive:1; |
| gctUINT32 REG_Composition:1; |
| gctUINT32 REG_CorrectAutoDisableCountWidth:1; |
| gctUINT32 REG_PESwizzle:1; |
| gctUINT32 REG_EndEvent:1; |
| gctUINT32 REG_S1S8:1; |
| gctUINT32 REG_Halti1:1; |
| gctUINT32 REG_RGB888:1; |
| gctUINT32 REG_TX_YUVAssembler:1; |
| gctUINT32 REG_DynamicFrequencyScaling:1; |
| gctUINT32 REG_TXFilter:1; |
| gctUINT32 REG_FullDirectFB:1; |
| gctUINT32 REG_OnePass2DFilter:1; |
| gctUINT32 REG_ThreadWalkerInPS:1; |
| gctUINT32 REG_TileFiller:1; |
| gctUINT32 REG_YUVStandard:1; |
| gctUINT32 REG_MultiSourceBlt:1; |
| gctUINT32 REG_YUVConversion:1; |
| gctUINT32 REG_FlushFixed2D:1; |
| gctUINT32 REG_Interleaver:1; |
| gctUINT32 REG_MixedStreams:1; |
| gctUINT32 REG_L2CacheFor2D420:1; |
| gctUINT32 REG_BugFixes7:1; |
| gctUINT32 REG_NoIndexPattern:1; |
| gctUINT32 REG_TextureTileStatus:1; |
| gctUINT32 REG_DecompressZ16:1; |
| gctUINT32 REG_BugFixes8:1; |
| gctUINT32 REG_DERotationStallFix:1; |
| gctUINT32 REG_OclOnly:1; |
| gctUINT32 REG_NewFeatures0:1; |
| gctUINT32 REG_InstructionCache:1; |
| gctUINT32 REG_GeometryShader:1; |
| gctUINT32 REG_TexCompressionSupertiled:1; |
| gctUINT32 REG_Generics:1; |
| gctUINT32 REG_BugFixes9:1; |
| gctUINT32 REG_FastMSAA:1; |
| gctUINT32 REG_WClip:1; |
| gctUINT32 REG_BugFixes10:1; |
| gctUINT32 REG_UnifiedSamplers:1; |
| gctUINT32 REG_BugFixes11:1; |
| gctUINT32 REG_PerformanceCounters:1; |
| gctUINT32 REG_ExtraShaderInstructions2:1; |
| gctUINT32 REG_BugFixes12:1; |
| gctUINT32 REG_BugFixes13:1; |
| gctUINT32 REG_DEEnhancements1:1; |
| gctUINT32 REG_ACE:1; |
| gctUINT32 REG_TXEnhancements1:1; |
| gctUINT32 REG_SHEnhancements1:1; |
| gctUINT32 REG_SHEnhancements2:1; |
| gctUINT32 REG_PEEnhancements1:1; |
| gctUINT32 REG_DEEnhancements2:1; |
| gctUINT32 REG_BugFixes14:1; |
| gctUINT32 REG_PowerOptimizations0:1; |
| gctUINT32 REG_NewHZ:1; |
| gctUINT32 REG_BugFixes15:1; |
| gctUINT32 REG_DEEnhancements3:1; |
| gctUINT32 REG_SHEnhancements3:1; |
| gctUINT32 REG_SHEnhancements4:1; |
| gctUINT32 REG_TXEnhancements2:1; |
| gctUINT32 REG_FEEnhancements1:1; |
| gctUINT32 REG_PEEnhancements2:1; |
| gctUINT32 REG_PAEnhancements1:1; |
| gctUINT32 REG_DENoGamma:1; |
| gctUINT32 REG_PAEnhancements2:1; |
| gctUINT32 REG_DEEnhancements4:1; |
| gctUINT32 REG_PEEnhancements3:1; |
| gctUINT32 REG_HIEnhancements1:1; |
| gctUINT32 REG_TXEnhancements3:1; |
| gctUINT32 REG_SHEnhancements5:1; |
| gctUINT32 REG_FEEnhancements2:1; |
| gctUINT32 REG_BugFixes16:1; |
| gctUINT32 REG_DEEnhancements5:1; |
| gctUINT32 REG_TXEnhancements4:1; |
| gctUINT32 REG_PEEnhancements4:1; |
| gctUINT32 REG_MCEnhancements1:1; |
| gctUINT32 REG_Halti2:1; |
| gctUINT32 REG_DEMirrorRotate:1; |
| gctUINT32 REG_SmallMSAA:1; |
| gctUINT32 REG_BugFixes17:1; |
| gctUINT32 REG_Rasterizer2:1; |
| gctUINT32 REG_DualPipeOPF:1; |
| gctUINT32 REG_MultiSrcV2:1; |
| gctUINT32 REG_CSCV2:1; |
| gctUINT32 REG_PAEnhancements3:1; |
| gctUINT32 REG_BugFixes18:1; |
| gctUINT32 REG_Compression2D:1; |
| gctUINT32 REG_Probe:1; |
| gctUINT32 REG_MediumPrecision:1; |
| gctUINT32 REG_DESupertile:1; |
| gctUINT32 REG_BugFixes19:1; |
| gctUINT32 REG_SHEnhancements6:1; |
| gctUINT32 REG_SHEnhancements7:1; |
| gctUINT32 REG_BugFixes20:1; |
| gctUINT32 REG_DEAddress40:1; |
| gctUINT32 REG_MiniMMUFix:1; |
| gctUINT32 REG_EEZ:1; |
| gctUINT32 REG_BugFixes21:1; |
| gctUINT32 REG_ExtraVgCaps:1; |
| gctUINT32 REG_MultiSrcV15:1; |
| gctUINT32 REG_BugFixes22:1; |
| gctUINT32 REG_Halti3:1; |
| gctUINT32 REG_TessellationShaders:1; |
| gctUINT32 REG_OPF9Tap:1; |
| gctUINT32 REG_MultiSrcV2StrQuad:1; |
| gctUINT32 REG_SeperateSRCAndDstCache:1; |
| gctUINT32 REG_Halti4:1; |
| gctUINT32 REG_RAWriteDepth:1; |
| gctUINT32 REG_AndroidOnly:1; |
| gctUINT32 REG_HasChipProductReg:1; |
| gctUINT32 REG_TXSupportDEC:1; |
| gctUINT32 REG_S8MSAACompression:1; |
| gctUINT32 REG_BugFixesIn544:1; |
| gctUINT32 REG_L2CacheRemove:1; |
| gctUINT32 REG_FEAllowRndVtxCnt:1; |
| gctUINT32 REG_CubeMapFL28:1; |
| gctUINT32 REG_TX6bitFrac:1; |
| gctUINT32 REG_FEAllowStallPrefetchEng:1; |
| gctUINT32 REG_ThirdPartyCompression:1; |
| gctUINT32 REG_RSS8:1; |
| gctUINT32 REG_MSAACoherencyCheck:1; |
| gctUINT32 REG_Halti5:1; |
| gctUINT32 REG_Evis:1; |
| gctUINT32 REG_BltEngine:1; |
| gctUINT32 REG_BugFixes23:1; |
| gctUINT32 REG_BugFixes24:1; |
| gctUINT32 REG_DEC:1; |
| gctUINT32 REG_VSTileNV12:1; |
| gctUINT32 REG_VSTileNV12_10BIT:1; |
| gctUINT32 REG_DisableVIP:1; |
| gctUINT32 RenderTarget8:1; |
| gctUINT32 TxLodFlowCorrection:1; |
| gctUINT32 FaceLod:1; |
| gctUINT32 MultiCoreSemaphoreStallV2:1; |
| gctUINT32 VMSAA:1; |
| gctUINT32 ChipEnableLink:1; |
| gctUINT32 MULTI_SRC_BLT_1_5_ENHANCEMENT:1; |
| gctUINT32 MULTI_SRC_BLT_BILINEAR_FILTER:1; |
| gctUINT32 RA_HZEZ_CLOCK_CONTROL:1; |
| gctUINT32 CACHE128B256BPERLINE:1; |
| gctUINT32 V4Compression:1; |
| gctUINT32 DE2D_MAJOR_SUPER_TILE:1; |
| gctUINT32 PE2D_MAJOR_SUPER_TILE:1; |
| gctUINT32 PE_32BPC_COLORMASK_FIX:1; |
| gctUINT32 ALPHA_BLENDING_OPT:1; |
| gctUINT32 NEW_GPIPE:1; |
| gctUINT32 PIPELINE_32_ATTRIBUTES:1; |
| gctUINT32 MSAA_SHADING:1; |
| gctUINT32 NO_ANISTRO_FILTER:1; |
| gctUINT32 NO_ASTC:1; |
| gctUINT32 NO_DXT:1; |
| gctUINT32 HWTFB:1; |
| gctUINT32 RA_DEPTH_WRITE_MSAA1X_FIX:1; |
| gctUINT32 EZHZ_CLOCKGATE_FIX:1; |
| gctUINT32 SH_SNAP2PAGE_FIX:1; |
| gctUINT32 SH_HALFDEPENDENCY_FIX:1; |
| gctUINT32 USC_MCFILL_FIX:1; |
| gctUINT32 TPG_TCPERF_FIX:1; |
| gctUINT32 USC_MDFIFO_OVERFLOW_FIX:1; |
| gctUINT32 SH_TEXLD_BARRIER_IN_CS_FIX:1; |
| gctUINT32 RS_NEW_BASEADDR:1; |
| gctUINT32 PE_8bpp_DUALPIPE_FIX:1; |
| gctUINT32 SH_ADVANCED_INSTR:1; |
| gctUINT32 SH_FLAT_INTERPOLATION_DUAL16_FIX:1; |
| gctUINT32 USC_CONTINUOUS_FLUS_FIX:1; |
| gctUINT32 SH_SUPPORT_V4:1; |
| gctUINT32 SH_SUPPORT_ALPHA_KILL:1; |
| gctUINT32 PE_NO_ALPHA_TEST:1; |
| gctUINT32 TX_LOD_NEAREST_SELECT:1; |
| gctUINT32 SH_FIX_LDEXP:1; |
| gctUINT32 SUPPORT_MOVAI:1; |
| gctUINT32 SH_SNAP2PAGE_MAXPAGES_FIX:1; |
| gctUINT32 PE_RGBA16I_FIX:1; |
| gctUINT32 BLT_8bpp_256TILE_FC_FIX:1; |
| gctUINT32 PE_64bit_FENCE_FIX:1; |
| gctUINT32 USC_FULL_CACHE_FIX:1; |
| gctUINT32 TX_YUV_ASSEMBLER_10BIT:1; |
| gctUINT32 FE_32bit_INDEX_FIX:1; |
| gctUINT32 BLT_64bpp_MASKED_CLEAR_FIX:1; |
| gctUINT32 SECURITY:1; |
| gctUINT32 ROBUSTNESS:1; |
| gctUINT32 USC_ATOMIC_FIX:1; |
| gctUINT32 SH_PSO_MSAA1x_FIX:1; |
| gctUINT32 USC_VX_PERF_FIX:1; |
| gctUINT32 USC_GOS_ADDR_FIX:1; |
| gctUINT32 TX_8bit_UVFrac:1; |
| gctUINT32 TX_DESC_CACHE_CLOCKGATE_FIX:1; |
| gctUINT32 RSBLT_MSAA_DECOMPRESSION:1; |
| gctUINT32 TX_INTEGER_COORDINATE:1; |
| gctUINT32 DRAWID:1; |
| gctUINT32 PSIO_SAMPLEMASK_IN_R0ZW_FIX:1; |
| gctUINT32 TX_INTEGER_COORDINATE_V2:1; |
| gctUINT32 MULTI_CORE_BLOCK_SET_CONFIG:1; |
| gctUINT32 SNAPPAGE_CMD:1; |
| gctUINT32 SH_NO_INDEX_CONST_ON_A0:1; |
| gctUINT32 SH_NO_ONECONST_LIMIT:1; |
| gctUINT32 SH_IMG_LDST_ON_TEMP:1; |
| gctUINT32 COMPUTE_ONLY:1; |
| gctUINT32 SH_IMG_LDST_CLAMP:1; |
| gctUINT32 SH_ICACHE_ALLOC_COUNT_FIX:1; |
| gctUINT32 SH_ICACHE_PREFETCH:1; |
| gctUINT32 PE2D_SEPARATE_CACHE:1; |
| gctUINT32 PE_MSAA_OQ_FIX:1; |
| gctUINT32 PSIO_MSAA_CL_FIX:1; |
| gctUINT32 USC_DEFER_FILL_FIX:1; |
| gctUINT32 SH_CLOCK_GATE_FIX:1; |
| gctUINT32 FE_NEED_DUMMYDRAW:1; |
| gctUINT32 PE2D_LINEAR_YUV420_OUTPUT:1; |
| gctUINT32 PE2D_LINEAR_YUV420_10BIT:1; |
| gctUINT32 MULTI_CLUSTER:1; |
| gctUINT32 SH_MULTI_WG_PACK:1; |
| gctUINT32 SH_DUAL16_SAMPLEMASK_ZW:1; |
| gctUINT32 TPG_TRIVIAL_MODE_FIX:1; |
| gctUINT32 TX_ASTC_MULTISLICE_FIX:1; |
| gctUINT32 FE_ROBUST_FIX:1; |
| gctUINT32 SH_GPIPE_ACCESS_FULLTEMPS:1; |
| gctUINT32 PSIO_INTERLOCK:1; |
| gctUINT32 PA_WIDELINE_FIX:1; |
| gctUINT32 WIDELINE_HELPER_FIX:1; |
| gctUINT32 G2D_3rd_PARTY_COMPRESSION_1_1:1; |
| gctUINT32 TX_FLUSH_L1CACHE:1; |
| gctUINT32 PE_DITHER_FIX2:1; |
| gctUINT32 SH_TEXLD_U_FIX:1; |
| gctUINT32 MC_FCCACHE_BYTEMASK:1; |
| gctUINT32 SH_MULTI_WG_PACK_FIX:1; |
| gctUINT32 PE_ADVANCE_BLEND_PART0:1; |
| gctUINT32 FE_PATCHLIST_FETCH_FIX:1; |
| gctUINT32 RA_CG_FIX:1; |
| gctUINT32 DEC400:1; |
| gctUINT32 LS_SUPPORT_PERCOMP_DEPENDENCY:1; |
| gctUINT32 MULTI_CORE_BLOCK_SET_CONFIG2:1; |
| gctUINT32 PE_VMSAA_COVERAGE_CACHE_FIX:1; |
| gctUINT32 SECURITY_AHB:1; |
| gctUINT32 MULTICORE_SEMAPHORESTALL_V3:1; |
| gctUINT32 SMALLBATCH:1; |
| gctUINT32 SH_CMPLX:1; |
| gctUINT32 SH_IDIV0_SWZL_EHS:1; |
| gctUINT32 TX_LERP_LESS_BIT:1; |
| gctUINT32 SH_GM_ENDIAN:1; |
| gctUINT32 SH_GM_USC_UNALLOC:1; |
| gctUINT32 SH_END_OF_BB:1; |
| gctUINT32 TX_BORDER_CLAMP_FIX:1; |
| gctUINT32 SH_IMG_LD_LASTPIXEL_FIX:1; |
| gctUINT32 ASYNC_BLT:1; |
| gctUINT32 ASYNC_FE_FENCE_FIX:1; |
| gctUINT32 PSCS_THROTTLE:1; |
| gctUINT32 SEPARATE_LS:1; |
| gctUINT32 WIDELINE_TRIANGLE_EMU:1; |
| gctUINT32 FENCE_32BIT:1; |
| gctUINT32 FENCE_64BIT:1; |
| gctUINT32 PE_DEPTH_ONLY_OQFIX:1; |
| gctUINT32 TX_SEAMLESS_CUBE:1; |
| gctUINT32 TX_SNORM_SUPPORT:1; |
| gctUINT32 SH_SCATTER_GATHER:1; |
| gctUINT32 HWMANAGED_LS:1; |
| gctUINT32 SH_IMAGE_ENABLE_FIX:1; |
| gctUINT32 MSAA_FRAGMENT_OPERATION:1; |
| gctUINT32 PE_TILE_CACHE_FLUSH_FIX:1; |
| gctUINT32 BLT_YUV_OUTPUT:1; |
| gctUINT32 SH_IO_CG_FIX:1; |
| gctUINT32 PE_SWIZZLE:1; |
| gctUINT32 SH_ROBUSTNESS_FIX:1; |
| gctUINT32 USC_ATOMIC_FIX2:1; |
| gctUINT32 PE_A8B8G8R8:1; |
| gctUINT32 MULTIVIEW_RENDER:1; |
| gctUINT32 FE_DRAW_DIRECT:1; |
| gctUINT32 TX_VKBORDER_MODE:1; |
| gctUINT32 TX_UNNORMALIZED_COORD:1; |
| gctUINT32 PA_LINECLIP_FIX:1; |
| gctUINT32 TX_8bit_UVFrac_ROUNDING_FIX:1; |
| gctUINT32 MP_ARCH:1; |
| gctUINT32 TX_NO_FIXED_FILTER:1; |
| gctUINT32 SHARE_Z:1; |
| gctUINT32 DE_2D_FAST_CLEAR:1; |
| gctUINT32 DE_TILESTATUS_ROTATION_FIX:1; |
| gctUINT32 TX_CLEAR_PENDING_FIX:1; |
| gctUINT32 NO_HI1_L2:1; |
| gctUINT32 USC_EVICT_CTRL_FIFO_FLOP_RESET_FIX:1; |
| gctUINT32 FORMAT_10BIT_CROSS_4K:1; |
| gctUINT32 FORMAT_P010LSB_I010:1; |
| gctUINT32 ENDIAN_CONTROL:1; |
| gctUINT32 G2D_DEC400EX:1; |
| gctUINT32 SH_VX2_FLOATING_MAD_FIX:1; |
| gctUINT32 TS_FC_VULKAN_SUPPORT:1; |
| gctUINT32 MSAA_FLOAT_64BIT:1; |
| gctUINT32 INDIRECT_COMPUTE_ZERODIM_FIX:1; |
| gctUINT32 Q_CHANNEL_SUPPORT:1; |
| gctUINT32 MMU_PAGE_DESCRIPTOR:1; |
| gctUINT32 YUV_LINEAR_TO_TILE_ROTATE:1; |
| gctUINT32 VEC2_IMULIMAD32_SUPPORT:1; |
| gctUINT32 VEC4_IMULIMAD32_SUPPORT:1; |
| gctUINT32 VEC2_IDIVIMOD16_SUPPORT:1; |
| gctUINT32 VG_TS_CULLING:1; |
| gctUINT32 VG_FP25:1; |
| gctUINT32 VG_AYUV_INPUT_OUTPUT:1; |
| gctUINT32 VG_DOUBLE_IMAGE:1; |
| gctUINT32 VG_RECTANGLE_STRIPE_MODE:1; |
| gctUINT32 VG_MMU:1; |
| gctUINT32 VG_IM_FILTER:1; |
| gctUINT32 VG_IM_YUV_PACKET:1; |
| gctUINT32 VG_IM_YUV_PLANAR:1; |
| gctUINT32 VG_PE_YUV_PACKET:1; |
| gctUINT32 VG_COLOR_PRECISION_8_BIT:1; |
| gctUINT32 VG_RESOLVE_ENGINE:1; |
| gctUINT32 VG_PE_COLOR_KEY:1; |
| gctUINT32 VG_IM_INDEX_FORMAT:1; |
| gctUINT32 VG_RESOLUTION_8K:1; |
| gctUINT32 VG_IMAGE_16K:1; |
| gctUINT32 VG_FORMAT_ARGB2222:1; |
| gctUINT32 G2D_DEC400:1; |
| gctUINT32 DC_OVERLAY_SCALING:1; |
| gctUINT32 DC_SOURCE_ROTATION:1; |
| gctUINT32 DC_TILED:1; |
| gctUINT32 DC_YUV_L1:1; |
| gctUINT32 DC_D30_OUTPUT:1; |
| gctUINT32 DC_MMU:1; |
| gctUINT32 DC_COMPRESSION:1; |
| gctUINT32 DC_QOS:1; |
| gctUINT32 VIP_HW_FINAL_RELEASE:1; |
| gctUINT32 NN_SINGLEPORT_ACCUMBUFFER:1; |
| gctUINT32 NN_STRIDE_SUPPORT:1; |
| gctUINT32 SWTILING_PHASE1:1; |
| gctUINT32 SWTILING_PHASE2:1; |
| gctUINT32 TP_SIMPLE_INT16:1; |
| gctUINT32 TP_REAL_INT16:1; |
| gctUINT32 TP_ROI_POOLING:1; |
| gctUINT32 TP_MAX_POOLING_STRIDE1:1; |
| gctUINT32 TP_LRN:1; |
| gctUINT32 TP_REORDER:1; |
| gctUINT32 TF_QUANTIZATION:1; |
| gctUINT32 NN_NONZERO_BORDER:1; |
| gctUINT32 NN_MIRROR_BORDER:1; |
| gctUINT32 AI_GPU:1; |
| gctUINT32 EVIS_NO_ABSDIFF:1; |
| gctUINT32 EVIS_NO_BITREPLACE:1; |
| gctUINT32 EVIS_NO_BOXFILTER:1; |
| gctUINT32 EVIS_NO_CORDIAC:1; |
| gctUINT32 EVIS_NO_DP32:1; |
| gctUINT32 EVIS_NO_FILTER:1; |
| gctUINT32 EVIS_NO_IADD:1; |
| gctUINT32 EVIS_NO_SELECTADD:1; |
| gctUINT32 EVIS_LERP_7OUTPUT:1; |
| gctUINT32 EVIS_ACCSQ_8OUTPUT:1; |
| gctUINT32 EVIS_VX2:1; |
| gctUINT32 TP_ENGINE:1; |
| gctUINT32 VIP_V7:1; |
| gctUINT32 TP_TENSOR_ADD_MUL:1; |
| gctUINT32 NN_DEPTHWISE_INT16XINT8:1; |
| gctUINT32 TP_SOFTMAX:1; |
| gctUINT32 NN_23BITS_POST_MULTIPLIER_VIP_V7:1; |
| gctUINT32 TP_23BITS_POST_MULTIPLIER_VIP_V7:1; |
| gctUINT32 HYBRID_MODE_VIP_V7:1; |
| gctUINT32 NN_ZDP6:1; |
| gctUINT32 NN_XYDP9:1; |
| gctUINT32 NN_FIRST_PIXEL_POOLING:1; |
| gctUINT32 NN_ZDP3:1; |
| gctUINT32 NN_XYDP6:1; |
| gctUINT32 SWTILING_PHASE3:1; |
| gctUINT32 MCFE:1; |
| gctUINT32 USC_STAY_LRU:1; |
| gctUINT32 COEF_COMPRESSION_ENHANCEMENT:1; |
| gctUINT32 TP_COEF_COMPRESSION_ENHANCEMENT:1; |
| gctUINT32 NN_COEF_DECOMPRESS_PERF2X:1; |
| gctUINT32 OCB_COUNTER:1; |
| gctUINT32 SCALER:1; |
| gctUINT32 SCALER_4K:1; |
| gctUINT32 INPUT_4BIT:1; |
| gctUINT32 NN_NO_Z_LOCATION_OFFSET:1; |
| gctUINT32 OCB_REMAP_PHYSICAL_ADDRESS:1; |
| gctUINT32 NN_SLOW_OUTPUT:1; |
| gctUINT32 NO_NARROW_POST_PROCESS_PIPE:1; |
| gctUINT32 TP_NN_PROBE:1; |
| gctUINT32 NN_DEPTHWISE_SUPPORT:1; |
| gctUINT32 NN_XYDP0:1; |
| gctUINT32 NN_WRITE_WITHOUT_USC:1; |
| gctUINT32 NN_HW_LIMITATION_NATIVE_KER_1x2_2x1:1; |
| gctUINT32 NN_SLICE_PADDING_TO_64BYTE_ALIGN:1; |
| gctUINT32 NN_DW_1x1_CONV_MERGE:1; |
| gctUINT32 TP_BFLOAT16:1; |
| gctUINT32 TP_23BITS_POST_MULTIPLIER:1; |
| gctUINT32 NN_TRANSPOSE:1; |
| gctUINT32 USE_SINGLE_PORT_VIPSRAM:1; |
| gctUINT32 NN_LEAKY_RELU:1; |
| gctUINT32 NN_PRELU:1; |
| gctUINT32 NN_PER_CHANNEL_QUANT:1; |
| gctUINT32 NN_PER_CHANNEL_QUANT_ASYM:1; |
| gctUINT32 NN_ASYMMETRIC_INT8:1; |
| gctUINT32 NN_FLOAT_POST_MULT:1; |
| gctUINT32 PRELU_LEAKLY_RELU_CLAMP:1; |
| gctUINT32 TPLITE_BFLOAT16:1; |
| gctUINT32 PREPROCESS_IMG_BUF_640BYTE_LIMIT:1; |
| gctUINT32 TP_KERNEL_1BYTE_ALGIN:1; |
| gctUINT32 BFLOAT_COEF_COMPRESSION_ZERO_COEFBIT14_INVERSE:1; |
| gctUINT32 NN_COMPRESSION_BYPASSS:1; |
| gctUINT32 TP_3_USC:1; |
| gctUINT32 BFP_COEF_AUTO_PAD_INCOMPLETE_ZERO_IN_KZ_PLANE:1; |
| gctUINT32 NN_NATIVE_STRIDE_TWO:1; |
| gctUINT32 NN_TENSOR_ADD:1; |
| gctUINT32 NN_FLOAT32_IO:1; |
| gctUINT32 TP_FLOAT32_IO:1; |
| gctUINT32 NN_SMALL_BATCH_PHASE2:1; |
| gctUINT32 TILE_ACCESS_CAPABILITY:1; |
| gctUINT32 FAST_DP3_PREPROCESSOR:1; |
| gctUINT32 DEPTHWISE_SUPPORT_16BIT_FORMAT:1; |
| gctUINT32 NN_SUPPORT_ALU_LUT:1; |
| gctUINT32 NN_ENHANCED_MAX_POOLING:1; |
| gctUINT32 NN_TRANSPOSE_PHASE2:1; |
| gctUINT32 TPLITE_SUPPORT_TP_DATA_TRANSPOSE:1; |
| gctUINT32 NN_SUPPORT_CONV_1D:1; |
| gctUINT32 USE_VIPSRAM_FOR_KERNEL_STREAMING:1; |
| gctUINT32 VIP_DEC400:1; |
| gctUINT32 NN_PER3DTILE_BUBBLE_FIX:1; |
| gctUINT32 NN_CACHELINE_MODE_PERF_FIX:1; |
| gctUINT32 NN_CONV1x1_PERF_FIX:1; |
| gctUINT32 TP_REORDER_FIX:1; |
| gctUINT32 NN_CONVOUT_FIFO_DEPTH_FIX:1; |
| gctUINT32 NN_ZXDP3_KERNEL_READ_CONFLICT_FIX:1; |
| gctUINT32 NN_ZDP3_NO_COMPRESS_FIX:1; |
| gctUINT32 NN_ASYNC_COPY_PERF_FIX:1; |
| gctUINT32 HI_REORDER_FIX:1; |
| gctUINT32 INCORRECT_WR_REQ_TO_USC_BETWEEN_REORDER_AND_NORMAL_LAYER_FIX:1; |
| gctUINT32 TP_REORDER_LAYER_SUSPEND_FIX:1; |
| gctUINT32 NN_ASYNC_COPY_MERGE_FIX:1; |
| gctUINT32 USC_INVALIDATE_CACHE_LINE_FIX:1; |
| gctUINT32 NN_REQ_SLOWARBITRATION_FIX:1; |
| gctUINT32 IMAGE_PARTIAL_CACHE_FIX:1; |
| gctUINT32 FULLCACHE_KERNELHEAD_FIX:1; |
| gctUINT32 NN_ZDP_INIMAGE_SIZE_FIX:1; |
| gctUINT32 IDLE_BEFORE_FLUSH_COMPLETE_FIX:1; |
| gctUINT32 NO_FLUSH_USC_FIX:1; |
| gctUINT32 SMALL_BATCH_FLOPS_RESET_FIX:1; |
| gctUINT32 SMALL_BATCH_DISBLE_FIX:1; |
| gctUINT32 OUTPUT_CONVERT_UINT8_INT8_TO_UINT16_INT16_FIX:1; |
| gctUINT32 IMAGE_NOT_PACKED_IN_SRAM_FIX:1; |
| gctUINT32 COEF_DELTA_CORD_OVERFLOW_ZRL_8BIT_FIX:1; |
| gctUINT32 LOW_EFFICIENCY_OF_ID_WRITE_IMGBUF_FIX:1; |
| gctUINT32 KERNEL_VIP_SRAM_READ_BW_LIMITATION_FIX:1; |
| gctUINT32 USC_BOTTLENECK_FIX:1; |
| gctUINT32 KERNEL_PER_CORE_LESS_THAN_THIRD_COEF_BUFF_DEPTH_FIX:1; |
| gctUINT32 KERNEL_SIZE_WASTE_IN_PARTIAL_MODE_FIX:1; |
| gctUINT32 NN_COMMAND_KERNEL_REQUEST_CONFICT_FIX:1; |
| gctUINT32 TP_REORDER_INTILE_X_SIZE_512_FIX:1; |
| gctUINT32 IMG_POP_PIPELINE_PAUSE_FIX:1; |
| gctUINT32 FULLCACHE_KERNEL_INTERLEAVE_FIX:1; |
| gctUINT32 V8_SINGLE_PORT_ACCUMULATION_BUFFER_RW_CONFICT_ZERO_SKIP_PERF_FIX:1; |
| gctUINT32 V8_ACCUMLATION_READ_OUT_HAS_BUBBLES_PERF_FIX:1; |
| gctUINT32 DEPTHWISE_NEIGHBOR_IMG_DATA_TRANSFER_NOT_EFFICIENT_FIX:1; |
| gctUINT32 DR_JD_DIFF_CONDITION_FOR_CACHELINE_MODE_PRE_FIX:1; |
| gctUINT32 TP_ACCESS_VIPSRAM_OT_IS_ONE_FIX:1; |
| gctUINT32 EVIS2_FLOP_RESET_FIX:1; |
| gctUINT32 OUTIMAGE_X_BITWIDTH_LIMIT_FOR_NN_TRANSPOSE_FIX:1; |
| gctUINT32 USC_ASYNC_CP_RTN_FLOP_RESET_FIX:1; |
| gctUINT32 IMG_ADDR_NOT_WRAP_IF_OVER_OCB_ADDR_FIX:1; |
| gctUINT32 NEGATIVE_POST_SHIFT_FIX:1; |
| gctUINT32 INIMAGE_2DTILE_NOT_LESS_160PIXEL_FIX:1; |
| gctUINT32 IMG_CAHCE_MODE_MUST_0_IN_IMG_DIRECT_MODE_FIX:1; |
| gctUINT32 BURST_COLLECT_DUMMY_DATA_WASTE_CYCLES_FIX:1; |
| gctUINT32 INIMG_NOT_64BYTE_ALIGN_CACHELINE_MODE_FIX:1; |
| gctUINT32 TP_FC_FLOAT_LAST_PIXEL_NEGATIVE_0_FIX:1; |
| gctUINT32 NN_WASET_COEF_READ_WRITE_BANDWIDTH_128BYTE_VIPSRAM_IN_FULL_PATIAL_CACHE_MODE:1; |
| gctUINT32 NN_IN_TILE_DATA_IS_ALL_PAD_FIX:1; |
| gctUINT32 TP_FC_KERNEL_STREAM_MUST_LESS_THAN_OR_EQUAL_TO_64BYTE_WHEN_1BYTE_ALGINE_FIX:1; |
| gctUINT32 NN_INTERLEVE8:1; |
| gctUINT32 NN_FP16_ALU:1; |
| gctUINT32 NN_INT16_ALU:1; |
| gctUINT32 NN_INT8_SCALE:1; |
| gctUINT32 NN_POWER_ISOLATION:1; |
| gctUINT32 ZRL_7BIT:1; |
| gctUINT32 NN_SMALLBATCH_PHASE1:1; |
| gctUINT32 TP_SMALLBATCH_PHASE1:1; |
| gctUINT32 NN_SMALLBATCH:1; |
| gctUINT32 TP_SMALLBATCH:1; |
| gctUINT32 ZRL_8BIT:1; |
| gctUINT32 DDR_BURST_LEN_256B:1; |
| gctUINT32 XY_OFFSET_LIMITATION_FIX:1; |
| gctUINT32 NN_NONZERO_MIRROR_BORDER:1; |
| gctUINT32 IMAGE_PARTIAL_CACHE:1; |
| } gcsFEATURE_DATABASE; |
| |
| #define FEATURE_BIT_START 86 |
| #define FEATURE_BIT_END 662 |
| static gcsFEATURE_DATABASE gChipInfo[] = { |
| /* vipnano-si */ |
| { |
| 0x8000, /* ChipID */ |
| 0x7120, /* ChipRevision */ |
| 0x15080009, /* ProductID */ |
| 0x0, /* EcoID */ |
| 0x80, /* CustomerID */ |
| 0x0, /* PatchVersion */ |
| "", /* ProductName */ |
| 0x0, /* FormalRelease */ |
| 0x40, /* gcFEATURE_VALUE_TempRegisters */ |
| 0x100, /* gcFEATURE_VALUE_ThreadCount */ |
| 0x1, /* gcFEATURE_VALUE_NumShaderCores */ |
| 0x200, /* gcFEATURE_VALUE_InstructionCount */ |
| 0x140, /* gcFEATURE_VALUE_NumberOfConstants */ |
| 0x1, /* gcFEATURE_VALUE_CoreCount */ |
| 0x10, /* gcFEATURE_VALUE_LocalStorageSize */ |
| 0x0, /* gcFEATURE_VALUE_LocalStorageSize_1 */ |
| 0x0, /* gcFEATURE_VALUE_LocalStorageSize_2 */ |
| 0x10, /* gcFEATURE_VALUE_L1CacheSize */ |
| 0x0, /* gcFEATURE_VALUE_L1CacheSize_1 */ |
| 0x0, /* gcFEATURE_VALUE_L1CacheSize_2 */ |
| 0x200, /* gcFEATURE_VALUE_InstructionMemorySize */ |
| 0x14, /* gcFEATURE_VALUE_ShaderPCLength */ |
| 0x10, /* gcFEATURE_VALUE_USC_MAX_PAGES */ |
| 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES_1 */ |
| 0x0, /* gcFEATURE_VALUE_USC_MAX_PAGES_2 */ |
| 0x1, /* gcFEATURE_VALUE_NumPixelPipes */ |
| 0x2, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS */ |
| 0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS_1 */ |
| 0x0, /* gcFEATURE_VALUE_USC_CACHE_CONTROLLERS_2 */ |
| 0x2, /* gcFEATURE_VALUE_USC_BANKS */ |
| 0x0, /* gcFEATURE_VALUE_USC_BANKS_1 */ |
| 0x0, /* gcFEATURE_VALUE_USC_BANKS_2 */ |
| 0x8, /* gcFEATURE_VALUE_Streams */ |
| 0x10, /* gcFEATURE_VALUE_VaryingCount */ |
| 0x400, /* gcFEATURE_VALUE_VertexOutputBufferSize */ |
| 0x0, /* gcFEATURE_VALUE_BufferSize */ |
| 0x10, /* gcFEATURE_VALUE_VertexCacheSize */ |
| 0x0, /* gcFEATURE_VALUE_NumResolvePipes */ |
| 0x100, /* gcFEATURE_VALUE_RESULT_WINDOW_MAX_SIZE */ |
| 0x0, /* gcFEATURE_VALUE_ClusterAliveMask */ |
| 0x0, /* gcFEATURE_VALUE_G2D_DEC400_MINOR */ |
| 0x40, /* gcFEATURE_VALUE_NNMadPerCore */ |
| 0x2, /* gcFEATURE_VALUE_NNCoreCount */ |
| 0x2, /* gcFEATURE_VALUE_NNCoreCount_INT8 */ |
| 0x2, /* gcFEATURE_VALUE_NNCoreCount_INT16 */ |
| 0x0, /* gcFEATURE_VALUE_NNCoreCount_FLOAT16 */ |
| 0x0, /* gcFEATURE_VALUE_NNCoreCount_BFLOAT */ |
| 0xc, /* gcFEATURE_VALUE_NNInputBufferDepth */ |
| 0xe0, /* gcFEATURE_VALUE_NNAccumBufferDepth */ |
| 0x400, /* gcFEATURE_VALUE_TPEngine_PwlLUTCount */ |
| 0x10, /* gcFEATURE_VALUE_TPEngine_PwlLUTSize */ |
| 0x40000, /* gcFEATURE_VALUE_VIP_SRAM_SIZE */ |
| 0x2, /* gcFEATURE_VALUE_TPEngine_CoreCount */ |
| 0x0, /* gcFEATURE_VALUE_AXI_SRAM_SIZE */ |
| 0x4, /* gcFEATURE_VALUE_NN_INIMAGE_OFFSET_BITS */ |
| 0x180, /* gcFEATURE_VALUE_TP_REORDER_INIMAGE_SIZE */ |
| 0x0, /* gcFEATURE_VALUE_TPLite_CoreCount */ |
| 0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_X */ |
| 0x1, /* gcFEATURE_VALUE_NNFP16_XYDP_Y */ |
| 0x1, /* gcFEATURE_VALUE_NNFP16_ZDP */ |
| 0x8, /* gcFEATURE_VALUE_NN_LANES_PER_OUT_CYCLE */ |
| 0x20, /* gcFEATURE_VALUE_MAX_OT_NUMBER */ |
| 0x20, /* gcFEATURE_VALUE_PHYSICAL_VIP_SRAM_WIDTH_IN_BYTE */ |
| 0x10, /* gcFEATURE_VALUE_EQUIVALENT_VIP_SRAM_WIDTH_INBYTE */ |
| 0x8, /* gcFEATURE_VALUE_TP_ZRL_BITS */ |
| 0x5, /* gcFEATURE_VALUE_NN_ZRL_BITS */ |
| 0x80, /* gcFEATURE_VALUE_LATENCY_HIDING_AT_FULL_AXI_BW */ |
| 0x10, /* gcFEATURE_VALUE_AXI_BUS_WIDTH */ |
| 0xb, /* gcFEATURE_VALUE_NN_KERNEL_X_SIZE */ |
| 0xb, /* gcFEATURE_VALUE_NN_KERNEL_Y_SIZE */ |
| 0xf, /* gcFEATURE_VALUE_NN_FC_KERNEL_Y_SIZE */ |
| 0xfffff, /* gcFEATURE_VALUE_NN_KERNEL_Z_SIZE */ |
| 0xf, /* gcFEATURE_VALUE_NN_X_OFFSET */ |
| 0xf, /* gcFEATURE_VALUE_NN_Y_OFFSET */ |
| 0x40, /* gcFEATURE_VALUE_DDR_KERNEL_BURST_SIZE */ |
| 0x10, /* gcFEATURE_VALUE_OUTIMAGE_X_STRIDE_BITS */ |
| 0x0, /* gcFEATURE_VALUE_OUTIMAGE_Y_STRIDE_BITS */ |
| 0x10, /* gcFEATURE_VALUE_INIMAGE_X_STRIDE_BITS */ |
| 0x10, /* gcFEATURE_VALUE_IMIMAGE_Y_STRIDE_BITS */ |
| 0xd, /* gcFEATURE_VALUE_OUTIMAGE_X_SIZE_BITS */ |
| 0xd, /* gcFEATURE_VALUE_OUTIMAGE_Y_SIZE_BITS */ |
| 0xe, /* gcFEATURE_VALUE_OUTIMAGE_SIZE_BITS */ |
| 0xd, /* gcFEATURE_VALUE_IMAGE_X_SIZE_BITS */ |
| 0xd, /* gcFEATURE_VALUE_INIMAGE_Y_SIZE_BITS */ |
| 0x40, /* gcFEATURE_VALUE_MAX_TILE_X_SIZE */ |
| 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_YUV420Filter */ |
| 0x1, /* gcFEATURE_BIT_REG_MSAA */ |
| 0x0, /* gcFEATURE_BIT_REG_DC */ |
| 0x0, /* gcFEATURE_BIT_REG_Pipe2D */ |
| 0x1, /* gcFEATURE_BIT_REG_ETC1TextureCompression */ |
| 0x1, /* gcFEATURE_BIT_REG_FastScaler */ |
| 0x1, /* gcFEATURE_BIT_REG_HighDynamicRange */ |
| 0x1, /* gcFEATURE_BIT_REG_YUV420Tiler */ |
| 0x1, /* gcFEATURE_BIT_REG_ModuleCG */ |
| 0x0, /* gcFEATURE_BIT_REG_MinArea */ |
| 0x0, /* gcFEATURE_BIT_REG_NoEZ */ |
| 0x0, /* gcFEATURE_BIT_REG_No422Texture */ |
| 0x0, /* gcFEATURE_BIT_REG_BufferInterleaving */ |
| 0x1, /* gcFEATURE_BIT_REG_ByteWrite2D */ |
| 0x0, /* gcFEATURE_BIT_REG_NoScaler */ |
| 0x1, /* gcFEATURE_BIT_REG_YUY2Averaging */ |
| 0x0, /* gcFEATURE_BIT_REG_HalfPECache */ |
| 0x0, /* gcFEATURE_BIT_REG_HalfTXCache */ |
| 0x0, /* gcFEATURE_BIT_REG_YUY2RenderTarget */ |
| 0x0, /* gcFEATURE_BIT_REG_Mem32BitSupport */ |
| 0x0, /* gcFEATURE_BIT_REG_PipeVG */ |
| 0x0, /* gcFEATURE_BIT_REG_VGTS */ |
| 0x0, /* gcFEATURE_BIT_REG_FE20 */ |
| 0x1, /* gcFEATURE_BIT_REG_ByteWrite3D */ |
| 0x1, /* gcFEATURE_BIT_REG_RsYuvTarget */ |
| 0x1, /* gcFEATURE_BIT_REG_FE20BitIndex */ |
| 0x1, /* gcFEATURE_BIT_REG_FlipY */ |
| 0x1, /* gcFEATURE_BIT_REG_DualReturnBus */ |
| 0x1, /* gcFEATURE_BIT_REG_EndiannessConfig */ |
| 0x1, /* gcFEATURE_BIT_REG_Texture8K */ |
| 0x1, /* gcFEATURE_BIT_REG_CorrectTextureConverter */ |
| 0x1, /* gcFEATURE_BIT_REG_SpecialMsaaLod */ |
| 0x1, /* gcFEATURE_BIT_REG_FastClearFlush */ |
| 0x1, /* gcFEATURE_BIT_REG_2DPE20 */ |
| 0x0, /* gcFEATURE_BIT_REG_CorrectAutoDisable */ |
| 0x1, /* gcFEATURE_BIT_REG_Render8K */ |
| 0x1, /* gcFEATURE_BIT_REG_TileStatus2Bits */ |
| 0x1, /* gcFEATURE_BIT_REG_SeparateTileStatusWhenInterleaved */ |
| 0x1, /* gcFEATURE_BIT_REG_SuperTiled32x32 */ |
| 0x0, /* gcFEATURE_BIT_REG_VG20 */ |
| 0x0, /* gcFEATURE_BIT_REG_TSExtendedCommands */ |
| 0x1, /* gcFEATURE_BIT_REG_CompressionFifoFixed */ |
| 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions0 */ |
| 0x0, /* gcFEATURE_BIT_REG_VGFilter */ |
| 0x0, /* gcFEATURE_BIT_REG_VG21 */ |
| 0x1, /* gcFEATURE_BIT_REG_ShaderGetsW */ |
| 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions1 */ |
| 0x1, /* gcFEATURE_BIT_REG_DefaultReg0 */ |
| 0x1, /* gcFEATURE_BIT_REG_MC20 */ |
| 0x0, /* gcFEATURE_BIT_REG_ShaderMSAASideband */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes0 */ |
| 0x0, /* gcFEATURE_BIT_REG_VAA */ |
| 0x0, /* gcFEATURE_BIT_REG_BypassInMSAA */ |
| 0x0, /* gcFEATURE_BIT_REG_HierarchicalZ */ |
| 0x0, /* gcFEATURE_BIT_REG_NewTexture */ |
| 0x0, /* gcFEATURE_BIT_REG_A8TargetSupport */ |
| 0x1, /* gcFEATURE_BIT_REG_CorrectStencil */ |
| 0x1, /* gcFEATURE_BIT_REG_EnhanceVR */ |
| 0x1, /* gcFEATURE_BIT_REG_RSUVSwizzle */ |
| 0x1, /* gcFEATURE_BIT_REG_V2Compression */ |
| 0x0, /* gcFEATURE_BIT_REG_VGDoubleBuffer */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes1 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes2 */ |
| 0x0, /* gcFEATURE_BIT_REG_TextureStride */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes3 */ |
| 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisable1 */ |
| 0x0, /* gcFEATURE_BIT_REG_AutoRestartTS */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes4 */ |
| 0x0, /* gcFEATURE_BIT_REG_L2Windowing */ |
| 0x1, /* gcFEATURE_BIT_REG_HalfFloatPipe */ |
| 0x1, /* gcFEATURE_BIT_REG_PixelDither */ |
| 0x1, /* gcFEATURE_BIT_REG_TwoStencilReference */ |
| 0x1, /* gcFEATURE_BIT_REG_ExtendedPixelFormat */ |
| 0x1, /* gcFEATURE_BIT_REG_CorrectMinMaxDepth */ |
| 0x1, /* gcFEATURE_BIT_REG_DitherAndFilterPlusAlpha2D */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes5 */ |
| 0x0, /* gcFEATURE_BIT_REG_New2D */ |
| 0x1, /* gcFEATURE_BIT_REG_NewFloatingPointArithmetic */ |
| 0x1, /* gcFEATURE_BIT_REG_TextureHorizontalAlignmentSelect */ |
| 0x1, /* gcFEATURE_BIT_REG_NonPowerOfTwo */ |
| 0x1, /* gcFEATURE_BIT_REG_LinearTextureSupport */ |
| 0x1, /* gcFEATURE_BIT_REG_Halti0 */ |
| 0x0, /* gcFEATURE_BIT_REG_CorrectOverflowVG */ |
| 0x1, /* gcFEATURE_BIT_REG_NegativeLogFix */ |
| 0x1, /* gcFEATURE_BIT_REG_ResolveOffset */ |
| 0x1, /* gcFEATURE_BIT_REG_OkToGateAxiClock */ |
| 0x1, /* gcFEATURE_BIT_REG_MMU */ |
| 0x1, /* gcFEATURE_BIT_REG_WideLine */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes6 */ |
| 0x1, /* gcFEATURE_BIT_REG_FcFlushStall */ |
| 0x1, /* gcFEATURE_BIT_REG_LineLoop */ |
| 0x1, /* gcFEATURE_BIT_REG_LogicOp */ |
| 0x1, /* gcFEATURE_BIT_REG_SeamlessCubeMap */ |
| 0x1, /* gcFEATURE_BIT_REG_SuperTiledTexture */ |
| 0x1, /* gcFEATURE_BIT_REG_LinearPE */ |
| 0x1, /* gcFEATURE_BIT_REG_RectPrimitive */ |
| 0x0, /* gcFEATURE_BIT_REG_Composition */ |
| 0x1, /* gcFEATURE_BIT_REG_CorrectAutoDisableCountWidth */ |
| 0x1, /* gcFEATURE_BIT_REG_PESwizzle */ |
| 0x1, /* gcFEATURE_BIT_REG_EndEvent */ |
| 0x1, /* gcFEATURE_BIT_REG_S1S8 */ |
| 0x1, /* gcFEATURE_BIT_REG_Halti1 */ |
| 0x0, /* gcFEATURE_BIT_REG_RGB888 */ |
| 0x1, /* gcFEATURE_BIT_REG_TX_YUVAssembler */ |
| 0x1, /* gcFEATURE_BIT_REG_DynamicFrequencyScaling */ |
| 0x0, /* gcFEATURE_BIT_REG_TXFilter */ |
| 0x1, /* gcFEATURE_BIT_REG_FullDirectFB */ |
| 0x0, /* gcFEATURE_BIT_REG_OnePass2DFilter */ |
| 0x1, /* gcFEATURE_BIT_REG_ThreadWalkerInPS */ |
| 0x1, /* gcFEATURE_BIT_REG_TileFiller */ |
| 0x1, /* gcFEATURE_BIT_REG_YUVStandard */ |
| 0x0, /* gcFEATURE_BIT_REG_MultiSourceBlt */ |
| 0x0, /* gcFEATURE_BIT_REG_YUVConversion */ |
| 0x1, /* gcFEATURE_BIT_REG_FlushFixed2D */ |
| 0x1, /* gcFEATURE_BIT_REG_Interleaver */ |
| 0x1, /* gcFEATURE_BIT_REG_MixedStreams */ |
| 0x0, /* gcFEATURE_BIT_REG_L2CacheFor2D420 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes7 */ |
| 0x0, /* gcFEATURE_BIT_REG_NoIndexPattern */ |
| 0x1, /* gcFEATURE_BIT_REG_TextureTileStatus */ |
| 0x1, /* gcFEATURE_BIT_REG_DecompressZ16 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes8 */ |
| 0x1, /* gcFEATURE_BIT_REG_DERotationStallFix */ |
| 0x0, /* gcFEATURE_BIT_REG_OclOnly */ |
| 0x1, /* gcFEATURE_BIT_REG_NewFeatures0 */ |
| 0x1, /* gcFEATURE_BIT_REG_InstructionCache */ |
| 0x0, /* gcFEATURE_BIT_REG_GeometryShader */ |
| 0x1, /* gcFEATURE_BIT_REG_TexCompressionSupertiled */ |
| 0x1, /* gcFEATURE_BIT_REG_Generics */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes9 */ |
| 0x0, /* gcFEATURE_BIT_REG_FastMSAA */ |
| 0x0, /* gcFEATURE_BIT_REG_WClip */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes10 */ |
| 0x1, /* gcFEATURE_BIT_REG_UnifiedSamplers */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes11 */ |
| 0x1, /* gcFEATURE_BIT_REG_PerformanceCounters */ |
| 0x1, /* gcFEATURE_BIT_REG_ExtraShaderInstructions2 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes12 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes13 */ |
| 0x1, /* gcFEATURE_BIT_REG_DEEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_ACE */ |
| 0x1, /* gcFEATURE_BIT_REG_TXEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements2 */ |
| 0x1, /* gcFEATURE_BIT_REG_PEEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_DEEnhancements2 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes14 */ |
| 0x0, /* gcFEATURE_BIT_REG_PowerOptimizations0 */ |
| 0x1, /* gcFEATURE_BIT_REG_NewHZ */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes15 */ |
| 0x0, /* gcFEATURE_BIT_REG_DEEnhancements3 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements3 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements4 */ |
| 0x1, /* gcFEATURE_BIT_REG_TXEnhancements2 */ |
| 0x1, /* gcFEATURE_BIT_REG_FEEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_PEEnhancements2 */ |
| 0x1, /* gcFEATURE_BIT_REG_PAEnhancements1 */ |
| 0x0, /* gcFEATURE_BIT_REG_DENoGamma */ |
| 0x0, /* gcFEATURE_BIT_REG_PAEnhancements2 */ |
| 0x0, /* gcFEATURE_BIT_REG_DEEnhancements4 */ |
| 0x1, /* gcFEATURE_BIT_REG_PEEnhancements3 */ |
| 0x1, /* gcFEATURE_BIT_REG_HIEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_TXEnhancements3 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements5 */ |
| 0x1, /* gcFEATURE_BIT_REG_FEEnhancements2 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes16 */ |
| 0x0, /* gcFEATURE_BIT_REG_DEEnhancements5 */ |
| 0x1, /* gcFEATURE_BIT_REG_TXEnhancements4 */ |
| 0x0, /* gcFEATURE_BIT_REG_PEEnhancements4 */ |
| 0x1, /* gcFEATURE_BIT_REG_MCEnhancements1 */ |
| 0x1, /* gcFEATURE_BIT_REG_Halti2 */ |
| 0x0, /* gcFEATURE_BIT_REG_DEMirrorRotate */ |
| 0x1, /* gcFEATURE_BIT_REG_SmallMSAA */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes17 */ |
| 0x0, /* gcFEATURE_BIT_REG_Rasterizer2 */ |
| 0x0, /* gcFEATURE_BIT_REG_DualPipeOPF */ |
| 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2 */ |
| 0x0, /* gcFEATURE_BIT_REG_CSCV2 */ |
| 0x1, /* gcFEATURE_BIT_REG_PAEnhancements3 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes18 */ |
| 0x0, /* gcFEATURE_BIT_REG_Compression2D */ |
| 0x0, /* gcFEATURE_BIT_REG_Probe */ |
| 0x1, /* gcFEATURE_BIT_REG_MediumPrecision */ |
| 0x0, /* gcFEATURE_BIT_REG_DESupertile */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes19 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements6 */ |
| 0x1, /* gcFEATURE_BIT_REG_SHEnhancements7 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes20 */ |
| 0x0, /* gcFEATURE_BIT_REG_DEAddress40 */ |
| 0x0, /* gcFEATURE_BIT_REG_MiniMMUFix */ |
| 0x1, /* gcFEATURE_BIT_REG_EEZ */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes21 */ |
| 0x0, /* gcFEATURE_BIT_REG_ExtraVgCaps */ |
| 0x0, /* gcFEATURE_BIT_REG_MultiSrcV15 */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixes22 */ |
| 0x1, /* gcFEATURE_BIT_REG_Halti3 */ |
| 0x0, /* gcFEATURE_BIT_REG_TessellationShaders */ |
| 0x0, /* gcFEATURE_BIT_REG_OPF9Tap */ |
| 0x0, /* gcFEATURE_BIT_REG_MultiSrcV2StrQuad */ |
| 0x0, /* gcFEATURE_BIT_REG_SeperateSRCAndDstCache */ |
| 0x1, /* gcFEATURE_BIT_REG_Halti4 */ |
| 0x1, /* gcFEATURE_BIT_REG_RAWriteDepth */ |
| 0x0, /* gcFEATURE_BIT_REG_AndroidOnly */ |
| 0x1, /* gcFEATURE_BIT_REG_HasChipProductReg */ |
| 0x0, /* gcFEATURE_BIT_REG_TXSupportDEC */ |
| 0x1, /* gcFEATURE_BIT_REG_S8MSAACompression */ |
| 0x1, /* gcFEATURE_BIT_REG_BugFixesIn544 */ |
| 0x0, /* gcFEATURE_BIT_REG_L2CacheRemove */ |
| 0x1, /* gcFEATURE_BIT_REG_FEAllowRndVtxCnt */ |
| 0x0, /* gcFEATURE_BIT_REG_CubeMapFL28 */ |
| 0x1, /* gcFEATURE_BIT_REG_TX6bitFrac */ |
| 0x1, /* gcFEATURE_BIT_REG_FEAllowStallPrefetchEng */ |
| 0x0, /* gcFEATURE_BIT_REG_ThirdPartyCompression */ |
| 0x1, /* gcFEATURE_BIT_REG_RSS8 */ |
| 0x1, /* gcFEATURE_BIT_REG_MSAACoherencyCheck */ |
| 0x1, /* gcFEATURE_BIT_REG_Halti5 */ |
| 0x1, /* gcFEATURE_BIT_REG_Evis */ |
| 0x0, /* gcFEATURE_BIT_REG_BltEngine */ |
| 0x0, /* gcFEATURE_BIT_REG_BugFixes23 */ |
| 0x0, /* gcFEATURE_BIT_REG_BugFixes24 */ |
| 0x0, /* gcFEATURE_BIT_REG_DEC */ |
| 0x0, /* gcFEATURE_BIT_REG_VSTileNV12 */ |
| 0x0, /* gcFEATURE_BIT_REG_VSTileNV12_10BIT */ |
| 0x0, /* gcFEATURE_BIT_REG_DisableVIP */ |
| 0x0, /* gcFEATURE_BIT_RenderTarget8 */ |
| 0x0, /* gcFEATURE_BIT_TxLodFlowCorrection */ |
| 0x0, /* gcFEATURE_BIT_FaceLod */ |
| 0x0, /* gcFEATURE_BIT_MultiCoreSemaphoreStallV2 */ |
| 0x1, /* gcFEATURE_BIT_VMSAA */ |
| 0x0, /* gcFEATURE_BIT_ChipEnableLink */ |
| 0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_1_5_ENHANCEMENT */ |
| 0x0, /* gcFEATURE_BIT_MULTI_SRC_BLT_BILINEAR_FILTER */ |
| 0x1, /* gcFEATURE_BIT_RA_HZEZ_CLOCK_CONTROL */ |
| 0x1, /* gcFEATURE_BIT_CACHE128B256BPERLINE */ |
| 0x1, /* gcFEATURE_BIT_V4Compression */ |
| 0x0, /* gcFEATURE_BIT_DE2D_MAJOR_SUPER_TILE */ |
| 0x0, /* gcFEATURE_BIT_PE2D_MAJOR_SUPER_TILE */ |
| 0x1, /* gcFEATURE_BIT_PE_32BPC_COLORMASK_FIX */ |
| 0x1, /* gcFEATURE_BIT_ALPHA_BLENDING_OPT */ |
| 0x1, /* gcFEATURE_BIT_NEW_GPIPE */ |
| 0x0, /* gcFEATURE_BIT_PIPELINE_32_ATTRIBUTES */ |
| 0x0, /* gcFEATURE_BIT_MSAA_SHADING */ |
| 0x0, /* gcFEATURE_BIT_NO_ANISTRO_FILTER */ |
| 0x1, /* gcFEATURE_BIT_NO_ASTC */ |
| 0x0, /* gcFEATURE_BIT_NO_DXT */ |
| 0x0, /* gcFEATURE_BIT_HWTFB */ |
| 0x1, /* gcFEATURE_BIT_RA_DEPTH_WRITE_MSAA1X_FIX */ |
| 0x1, /* gcFEATURE_BIT_EZHZ_CLOCKGATE_FIX */ |
| 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_FIX */ |
| 0x1, /* gcFEATURE_BIT_SH_HALFDEPENDENCY_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_MCFILL_FIX */ |
| 0x1, /* gcFEATURE_BIT_TPG_TCPERF_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_MDFIFO_OVERFLOW_FIX */ |
| 0x1, /* gcFEATURE_BIT_SH_TEXLD_BARRIER_IN_CS_FIX */ |
| 0x1, /* gcFEATURE_BIT_RS_NEW_BASEADDR */ |
| 0x1, /* gcFEATURE_BIT_PE_8bpp_DUALPIPE_FIX */ |
| 0x0, /* gcFEATURE_BIT_SH_ADVANCED_INSTR */ |
| 0x1, /* gcFEATURE_BIT_SH_FLAT_INTERPOLATION_DUAL16_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_CONTINUOUS_FLUS_FIX */ |
| 0x0, /* gcFEATURE_BIT_SH_SUPPORT_V4 */ |
| 0x0, /* gcFEATURE_BIT_SH_SUPPORT_ALPHA_KILL */ |
| 0x1, /* gcFEATURE_BIT_PE_NO_ALPHA_TEST */ |
| 0x0, /* gcFEATURE_BIT_TX_LOD_NEAREST_SELECT */ |
| 0x1, /* gcFEATURE_BIT_SH_FIX_LDEXP */ |
| 0x1, /* gcFEATURE_BIT_SUPPORT_MOVAI */ |
| 0x1, /* gcFEATURE_BIT_SH_SNAP2PAGE_MAXPAGES_FIX */ |
| 0x1, /* gcFEATURE_BIT_PE_RGBA16I_FIX */ |
| 0x1, /* gcFEATURE_BIT_BLT_8bpp_256TILE_FC_FIX */ |
| 0x1, /* gcFEATURE_BIT_PE_64bit_FENCE_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_FULL_CACHE_FIX */ |
| 0x1, /* gcFEATURE_BIT_TX_YUV_ASSEMBLER_10BIT */ |
| 0x1, /* gcFEATURE_BIT_FE_32bit_INDEX_FIX */ |
| 0x1, /* gcFEATURE_BIT_BLT_64bpp_MASKED_CLEAR_FIX */ |
| 0x1, /* gcFEATURE_BIT_SECURITY */ |
| 0x1, /* gcFEATURE_BIT_ROBUSTNESS */ |
| 0x1, /* gcFEATURE_BIT_USC_ATOMIC_FIX */ |
| 0x1, /* gcFEATURE_BIT_SH_PSO_MSAA1x_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_VX_PERF_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_GOS_ADDR_FIX */ |
| 0x1, /* gcFEATURE_BIT_TX_8bit_UVFrac */ |
| 0x1, /* gcFEATURE_BIT_TX_DESC_CACHE_CLOCKGATE_FIX */ |
| 0x1, /* gcFEATURE_BIT_RSBLT_MSAA_DECOMPRESSION */ |
| 0x0, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE */ |
| 0x1, /* gcFEATURE_BIT_DRAWID */ |
| 0x1, /* gcFEATURE_BIT_PSIO_SAMPLEMASK_IN_R0ZW_FIX */ |
| 0x1, /* gcFEATURE_BIT_TX_INTEGER_COORDINATE_V2 */ |
| 0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG */ |
| 0x0, /* gcFEATURE_BIT_SNAPPAGE_CMD */ |
| 0x1, /* gcFEATURE_BIT_SH_NO_INDEX_CONST_ON_A0 */ |
| 0x1, /* gcFEATURE_BIT_SH_NO_ONECONST_LIMIT */ |
| 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_ON_TEMP */ |
| 0x1, /* gcFEATURE_BIT_COMPUTE_ONLY */ |
| 0x1, /* gcFEATURE_BIT_SH_IMG_LDST_CLAMP */ |
| 0x1, /* gcFEATURE_BIT_SH_ICACHE_ALLOC_COUNT_FIX */ |
| 0x1, /* gcFEATURE_BIT_SH_ICACHE_PREFETCH */ |
| 0x0, /* gcFEATURE_BIT_PE2D_SEPARATE_CACHE */ |
| 0x1, /* gcFEATURE_BIT_PE_MSAA_OQ_FIX */ |
| 0x1, /* gcFEATURE_BIT_PSIO_MSAA_CL_FIX */ |
| 0x1, /* gcFEATURE_BIT_USC_DEFER_FILL_FIX */ |
| 0x1, /* gcFEATURE_BIT_SH_CLOCK_GATE_FIX */ |
| 0x0, /* gcFEATURE_BIT_FE_NEED_DUMMYDRAW */ |
| 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_OUTPUT */ |
| 0x0, /* gcFEATURE_BIT_PE2D_LINEAR_YUV420_10BIT */ |
| 0x0, /* gcFEATURE_BIT_MULTI_CLUSTER */ |
| 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK */ |
| 0x0, /* gcFEATURE_BIT_SH_DUAL16_SAMPLEMASK_ZW */ |
| 0x0, /* gcFEATURE_BIT_TPG_TRIVIAL_MODE_FIX */ |
| 0x0, /* gcFEATURE_BIT_TX_ASTC_MULTISLICE_FIX */ |
| 0x0, /* gcFEATURE_BIT_FE_ROBUST_FIX */ |
| 0x0, /* gcFEATURE_BIT_SH_GPIPE_ACCESS_FULLTEMPS */ |
| 0x0, /* gcFEATURE_BIT_PSIO_INTERLOCK */ |
| 0x1, /* gcFEATURE_BIT_PA_WIDELINE_FIX */ |
| 0x0, /* gcFEATURE_BIT_WIDELINE_HELPER_FIX */ |
| 0x0, /* gcFEATURE_BIT_G2D_3rd_PARTY_COMPRESSION_1_1 */ |
| 0x0, /* gcFEATURE_BIT_TX_FLUSH_L1CACHE */ |
| 0x1, /* gcFEATURE_BIT_PE_DITHER_FIX2 */ |
| 0x0, /* gcFEATURE_BIT_SH_TEXLD_U_FIX */ |
| 0x0, /* gcFEATURE_BIT_MC_FCCACHE_BYTEMASK */ |
| 0x0, /* gcFEATURE_BIT_SH_MULTI_WG_PACK_FIX */ |
| 0x0, /* gcFEATURE_BIT_PE_ADVANCE_BLEND_PART0 */ |
| 0x0, /* gcFEATURE_BIT_FE_PATCHLIST_FETCH_FIX */ |
| 0x1, /* gcFEATURE_BIT_RA_CG_FIX */ |
| 0x0, /* gcFEATURE_BIT_DEC400 */ |
| 0x0, /* gcFEATURE_BIT_LS_SUPPORT_PERCOMP_DEPENDENCY */ |
| 0x0, /* gcFEATURE_BIT_MULTI_CORE_BLOCK_SET_CONFIG2 */ |
| 0x0, /* gcFEATURE_BIT_PE_VMSAA_COVERAGE_CACHE_FIX */ |
| 0x1, /* gcFEATURE_BIT_SECURITY_AHB */ |
| 0x0, /* gcFEATURE_BIT_MULTICORE_SEMAPHORESTALL_V3 */ |
| 0x0, /* gcFEATURE_BIT_SMALLBATCH */ |
| 0x0, /* gcFEATURE_BIT_SH_CMPLX */ |
| 0x0, /* gcFEATURE_BIT_SH_IDIV0_SWZL_EHS */ |
| 0x0, /* gcFEATURE_BIT_TX_LERP_LESS_BIT */ |
| 0x0, /* gcFEATURE_BIT_SH_GM_ENDIAN */ |
| 0x0, /* gcFEATURE_BIT_SH_GM_USC_UNALLOC */ |
| 0x0, /* gcFEATURE_BIT_SH_END_OF_BB */ |
| 0x0, /* gcFEATURE_BIT_TX_BORDER_CLAMP_FIX */ |
| 0x0, /* gcFEATURE_BIT_SH_IMG_LD_LASTPIXEL_FIX */ |
| 0x0, /* gcFEATURE_BIT_ASYNC_BLT */ |
| 0x0, /* gcFEATURE_BIT_ASYNC_FE_FENCE_FIX */ |
| 0x1, /* gcFEATURE_BIT_PSCS_THROTTLE */ |
| 0x0, /* gcFEATURE_BIT_SEPARATE_LS */ |
| 0x0, /* gcFEATURE_BIT_WIDELINE_TRIANGLE_EMU */ |
| 0x0, /* gcFEATURE_BIT_FENCE_32BIT */ |
| 0x0, /* gcFEATURE_BIT_FENCE_64BIT */ |
| 0x0, /* gcFEATURE_BIT_PE_DEPTH_ONLY_OQFIX */ |
| 0x0, /* gcFEATURE_BIT_TX_SEAMLESS_CUBE */ |
| 0x0, /* gcFEATURE_BIT_TX_SNORM_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_SH_SCATTER_GATHER */ |
| 0x0, /* gcFEATURE_BIT_HWMANAGED_LS */ |
| 0x0, /* gcFEATURE_BIT_SH_IMAGE_ENABLE_FIX */ |
| 0x1, /* gcFEATURE_BIT_MSAA_FRAGMENT_OPERATION */ |
| 0x0, /* gcFEATURE_BIT_PE_TILE_CACHE_FLUSH_FIX */ |
| 0x0, /* gcFEATURE_BIT_BLT_YUV_OUTPUT */ |
| 0x1, /* gcFEATURE_BIT_SH_IO_CG_FIX */ |
| 0x0, /* gcFEATURE_BIT_PE_SWIZZLE */ |
| 0x0, /* gcFEATURE_BIT_SH_ROBUSTNESS_FIX */ |
| 0x0, /* gcFEATURE_BIT_USC_ATOMIC_FIX2 */ |
| 0x0, /* gcFEATURE_BIT_PE_A8B8G8R8 */ |
| 0x0, /* gcFEATURE_BIT_MULTIVIEW_RENDER */ |
| 0x0, /* gcFEATURE_BIT_FE_DRAW_DIRECT */ |
| 0x0, /* gcFEATURE_BIT_TX_VKBORDER_MODE */ |
| 0x0, /* gcFEATURE_BIT_TX_UNNORMALIZED_COORD */ |
| 0x0, /* gcFEATURE_BIT_PA_LINECLIP_FIX */ |
| 0x0, /* gcFEATURE_BIT_TX_8bit_UVFrac_ROUNDING_FIX */ |
| 0x0, /* gcFEATURE_BIT_MP_ARCH */ |
| 0x0, /* gcFEATURE_BIT_TX_NO_FIXED_FILTER */ |
| 0x0, /* gcFEATURE_BIT_SHARE_Z */ |
| 0x0, /* gcFEATURE_BIT_DE_2D_FAST_CLEAR */ |
| 0x0, /* gcFEATURE_BIT_DE_TILESTATUS_ROTATION_FIX */ |
| 0x0, /* gcFEATURE_BIT_TX_CLEAR_PENDING_FIX */ |
| 0x0, /* gcFEATURE_BIT_NO_HI1_L2 */ |
| 0x0, /* gcFEATURE_BIT_USC_EVICT_CTRL_FIFO_FLOP_RESET_FIX */ |
| 0x0, /* gcFEATURE_BIT_FORMAT_10BIT_CROSS_4K */ |
| 0x0, /* gcFEATURE_BIT_FORMAT_P010LSB_I010 */ |
| 0x0, /* gcFEATURE_BIT_ENDIAN_CONTROL */ |
| 0x0, /* gcFEATURE_BIT_G2D_DEC400EX */ |
| 0x0, /* gcFEATURE_BIT_SH_VX2_FLOATING_MAD_FIX */ |
| 0x0, /* gcFEATURE_BIT_TS_FC_VULKAN_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_MSAA_FLOAT_64BIT */ |
| 0x0, /* gcFEATURE_BIT_INDIRECT_COMPUTE_ZERODIM_FIX */ |
| 0x0, /* gcFEATURE_BIT_Q_CHANNEL_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_MMU_PAGE_DESCRIPTOR */ |
| 0x0, /* gcFEATURE_BIT_YUV_LINEAR_TO_TILE_ROTATE */ |
| 0x0, /* gcFEATURE_BIT_VEC2_IMULIMAD32_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_VEC4_IMULIMAD32_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_VEC2_IDIVIMOD16_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_VG_TS_CULLING */ |
| 0x0, /* gcFEATURE_BIT_VG_FP25 */ |
| 0x0, /* gcFEATURE_BIT_VG_AYUV_INPUT_OUTPUT */ |
| 0x0, /* gcFEATURE_BIT_VG_DOUBLE_IMAGE */ |
| 0x0, /* gcFEATURE_BIT_VG_RECTANGLE_STRIPE_MODE */ |
| 0x0, /* gcFEATURE_BIT_VG_MMU */ |
| 0x0, /* gcFEATURE_BIT_VG_IM_FILTER */ |
| 0x0, /* gcFEATURE_BIT_VG_IM_YUV_PACKET */ |
| 0x0, /* gcFEATURE_BIT_VG_IM_YUV_PLANAR */ |
| 0x0, /* gcFEATURE_BIT_VG_PE_YUV_PACKET */ |
| 0x0, /* gcFEATURE_BIT_VG_COLOR_PRECISION_8_BIT */ |
| 0x0, /* gcFEATURE_BIT_VG_RESOLVE_ENGINE */ |
| 0x0, /* gcFEATURE_BIT_VG_PE_COLOR_KEY */ |
| 0x0, /* gcFEATURE_BIT_VG_IM_INDEX_FORMAT */ |
| 0x0, /* gcFEATURE_BIT_VG_RESOLUTION_8K */ |
| 0x0, /* gcFEATURE_BIT_VG_IMAGE_16K */ |
| 0x0, /* gcFEATURE_BIT_VG_FORMAT_ARGB2222 */ |
| 0x0, /* gcFEATURE_BIT_G2D_DEC400 */ |
| 0x0, /* gcFEATURE_BIT_DC_OVERLAY_SCALING */ |
| 0x0, /* gcFEATURE_BIT_DC_SOURCE_ROTATION */ |
| 0x0, /* gcFEATURE_BIT_DC_TILED */ |
| 0x0, /* gcFEATURE_BIT_DC_YUV_L1 */ |
| 0x0, /* gcFEATURE_BIT_DC_D30_OUTPUT */ |
| 0x0, /* gcFEATURE_BIT_DC_MMU */ |
| 0x0, /* gcFEATURE_BIT_DC_COMPRESSION */ |
| 0x0, /* gcFEATURE_BIT_DC_QOS */ |
| 0x1, /* gcFEATURE_BIT_VIP_HW_FINAL_RELEASE */ |
| 0x1, /* gcFEATURE_BIT_NN_SINGLEPORT_ACCUMBUFFER */ |
| 0x1, /* gcFEATURE_BIT_NN_STRIDE_SUPPORT */ |
| 0x1, /* gcFEATURE_BIT_SWTILING_PHASE1 */ |
| 0x1, /* gcFEATURE_BIT_SWTILING_PHASE2 */ |
| 0x0, /* gcFEATURE_BIT_TP_SIMPLE_INT16 */ |
| 0x1, /* gcFEATURE_BIT_TP_REAL_INT16 */ |
| 0x1, /* gcFEATURE_BIT_TP_ROI_POOLING */ |
| 0x1, /* gcFEATURE_BIT_TP_MAX_POOLING_STRIDE1 */ |
| 0x1, /* gcFEATURE_BIT_TP_LRN */ |
| 0x1, /* gcFEATURE_BIT_TP_REORDER */ |
| 0x1, /* gcFEATURE_BIT_TF_QUANTIZATION */ |
| 0x0, /* gcFEATURE_BIT_NN_NONZERO_BORDER */ |
| 0x0, /* gcFEATURE_BIT_NN_MIRROR_BORDER */ |
| 0x0, /* gcFEATURE_BIT_AI_GPU */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_ABSDIFF */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_BITREPLACE */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_BOXFILTER */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_CORDIAC */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_DP32 */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_FILTER */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_IADD */ |
| 0x0, /* gcFEATURE_BIT_EVIS_NO_SELECTADD */ |
| 0x0, /* gcFEATURE_BIT_EVIS_LERP_7OUTPUT */ |
| 0x0, /* gcFEATURE_BIT_EVIS_ACCSQ_8OUTPUT */ |
| 0x1, /* gcFEATURE_BIT_EVIS_VX2 */ |
| 0x1, /* gcFEATURE_BIT_TP_ENGINE */ |
| 0x1, /* gcFEATURE_BIT_VIP_V7 */ |
| 0x0, /* gcFEATURE_BIT_TP_TENSOR_ADD_MUL */ |
| 0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_INT16XINT8 */ |
| 0x0, /* gcFEATURE_BIT_TP_SOFTMAX */ |
| 0x0, /* gcFEATURE_BIT_NN_23BITS_POST_MULTIPLIER_VIP_V7 */ |
| 0x0, /* gcFEATURE_BIT_TP_23BITS_POST_MULTIPLIER_VIP_V7 */ |
| 0x0, /* gcFEATURE_BIT_HYBRID_MODE_VIP_V7 */ |
| 0x0, /* gcFEATURE_BIT_NN_ZDP6 */ |
| 0x0, /* gcFEATURE_BIT_NN_XYDP9 */ |
| 0x1, /* gcFEATURE_BIT_NN_FIRST_PIXEL_POOLING */ |
| 0x1, /* gcFEATURE_BIT_NN_ZDP3 */ |
| 0x1, /* gcFEATURE_BIT_NN_XYDP6 */ |
| 0x0, /* gcFEATURE_BIT_SWTILING_PHASE3 */ |
| 0x0, /* gcFEATURE_BIT_MCFE */ |
| 0x0, /* gcFEATURE_BIT_USC_STAY_LRU */ |
| 0x0, /* gcFEATURE_BIT_COEF_COMPRESSION_ENHANCEMENT */ |
| 0x0, /* gcFEATURE_BIT_TP_COEF_COMPRESSION_ENHANCEMENT */ |
| 0x0, /* gcFEATURE_BIT_NN_COEF_DECOMPRESS_PERF2X */ |
| 0x1, /* gcFEATURE_BIT_OCB_COUNTER */ |
| 0x0, /* gcFEATURE_BIT_SCALER */ |
| 0x0, /* gcFEATURE_BIT_SCALER_4K */ |
| 0x0, /* gcFEATURE_BIT_INPUT_4BIT */ |
| 0x0, /* gcFEATURE_BIT_NN_NO_Z_LOCATION_OFFSET */ |
| 0x1, /* gcFEATURE_BIT_OCB_REMAP_PHYSICAL_ADDRESS */ |
| 0x0, /* gcFEATURE_BIT_NN_SLOW_OUTPUT */ |
| 0x1, /* gcFEATURE_BIT_NO_NARROW_POST_PROCESS_PIPE */ |
| 0x0, /* gcFEATURE_BIT_TP_NN_PROBE */ |
| 0x0, /* gcFEATURE_BIT_NN_DEPTHWISE_SUPPORT */ |
| 0x0, /* gcFEATURE_BIT_NN_XYDP0 */ |
| 0x0, /* gcFEATURE_BIT_NN_WRITE_WITHOUT_USC */ |
| 0x0, /* gcFEATURE_BIT_NN_HW_LIMITATION_NATIVE_KER_1x2_2x1 */ |
| 0x0, /* gcFEATURE_BIT_NN_SLICE_PADDING_TO_64BYTE_ALIGN */ |
| 0x0, /* gcFEATURE_BIT_NN_DW_1x1_CONV_MERGE */ |
| 0x0, /* gcFEATURE_BIT_TP_BFLOAT16 */ |
| 0x0, /* gcFEATURE_BIT_TP_23BITS_POST_MULTIPLIER */ |
| 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE */ |
| 0x0, /* gcFEATURE_BIT_USE_SINGLE_PORT_VIPSRAM */ |
| 0x0, /* gcFEATURE_BIT_NN_LEAKY_RELU */ |
| 0x0, /* gcFEATURE_BIT_NN_PRELU */ |
| 0x0, /* gcFEATURE_BIT_NN_PER_CHANNEL_QUANT */ |
| 0x0, /* gcFEATURE_BIT_NN_PER_CHANNEL_QUANT_ASYM */ |
| 0x0, /* gcFEATURE_BIT_NN_ASYMMETRIC_INT8 */ |
| 0x0, /* gcFEATURE_BIT_NN_FLOAT_POST_MULT */ |
| 0x0, /* gcFEATURE_BIT_PRELU_LEAKLY_RELU_CLAMP */ |
| 0x0, /* gcFEATURE_BIT_TPLITE_BFLOAT16 */ |
| 0x0, /* gcFEATURE_BIT_PREPROCESS_IMG_BUF_640BYTE_LIMIT */ |
| 0x0, /* gcFEATURE_BIT_TP_KERNEL_1BYTE_ALGIN */ |
| 0x0, /* gcFEATURE_BIT_BFLOAT_COEF_COMPRESSION_ZERO_COEFBIT14_INVERSE */ |
| 0x0, /* gcFEATURE_BIT_NN_COMPRESSION_BYPASSS */ |
| 0x0, /* gcFEATURE_BIT_TP_3_USC */ |
| 0x0, /* gcFEATURE_BIT_BFP_COEF_AUTO_PAD_INCOMPLETE_ZERO_IN_KZ_PLANE */ |
| 0x0, /* gcFEATURE_BIT_NN_NATIVE_STRIDE_TWO */ |
| 0x0, /* gcFEATURE_BIT_NN_TENSOR_ADD */ |
| 0x0, /* gcFEATURE_BIT_NN_FLOAT32_IO */ |
| 0x0, /* gcFEATURE_BIT_TP_FLOAT32_IO */ |
| 0x0, /* gcFEATURE_BIT_NN_SMALL_BATCH_PHASE2 */ |
| 0x0, /* gcFEATURE_BIT_TILE_ACCESS_CAPABILITY */ |
| 0x0, /* gcFEATURE_BIT_FAST_DP3_PREPROCESSOR */ |
| 0x0, /* gcFEATURE_BIT_DEPTHWISE_SUPPORT_16BIT_FORMAT */ |
| 0x0, /* gcFEATURE_BIT_NN_SUPPORT_ALU_LUT */ |
| 0x0, /* gcFEATURE_BIT_NN_ENHANCED_MAX_POOLING */ |
| 0x0, /* gcFEATURE_BIT_NN_TRANSPOSE_PHASE2 */ |
| 0x0, /* gcFEATURE_BIT_TPLITE_SUPPORT_TP_DATA_TRANSPOSE */ |
| 0x0, /* gcFEATURE_BIT_NN_SUPPORT_CONV_1D */ |
| 0x0, /* gcFEATURE_BIT_USE_VIPSRAM_FOR_KERNEL_STREAMING */ |
| 0x0, /* gcFEATURE_BIT_VIP_DEC400 */ |
| 0x0, /* gcFEATURE_BIT_NN_PER3DTILE_BUBBLE_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_CACHELINE_MODE_PERF_FIX */ |
| 0x1, /* gcFEATURE_BIT_NN_CONV1x1_PERF_FIX */ |
| 0x1, /* gcFEATURE_BIT_TP_REORDER_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_CONVOUT_FIFO_DEPTH_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_ZXDP3_KERNEL_READ_CONFLICT_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_ZDP3_NO_COMPRESS_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_ASYNC_COPY_PERF_FIX */ |
| 0x1, /* gcFEATURE_BIT_HI_REORDER_FIX */ |
| 0x1, /* gcFEATURE_BIT_INCORRECT_WR_REQ_TO_USC_BETWEEN_REORDER_AND_NORMAL_LAYER_FIX */ |
| 0x0, /* gcFEATURE_BIT_TP_REORDER_LAYER_SUSPEND_FIX */ |
| 0x1, /* gcFEATURE_BIT_NN_ASYNC_COPY_MERGE_FIX */ |
| 0x0, /* gcFEATURE_BIT_USC_INVALIDATE_CACHE_LINE_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_REQ_SLOWARBITRATION_FIX */ |
| 0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE_FIX */ |
| 0x0, /* gcFEATURE_BIT_FULLCACHE_KERNELHEAD_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_ZDP_INIMAGE_SIZE_FIX */ |
| 0x0, /* gcFEATURE_BIT_IDLE_BEFORE_FLUSH_COMPLETE_FIX */ |
| 0x1, /* gcFEATURE_BIT_NO_FLUSH_USC_FIX */ |
| 0x1, /* gcFEATURE_BIT_SMALL_BATCH_FLOPS_RESET_FIX */ |
| 0x0, /* gcFEATURE_BIT_SMALL_BATCH_DISBLE_FIX */ |
| 0x0, /* gcFEATURE_BIT_OUTPUT_CONVERT_UINT8_INT8_TO_UINT16_INT16_FIX */ |
| 0x0, /* gcFEATURE_BIT_IMAGE_NOT_PACKED_IN_SRAM_FIX */ |
| 0x1, /* gcFEATURE_BIT_COEF_DELTA_CORD_OVERFLOW_ZRL_8BIT_FIX */ |
| 0x0, /* gcFEATURE_BIT_LOW_EFFICIENCY_OF_ID_WRITE_IMGBUF_FIX */ |
| 0x1, /* gcFEATURE_BIT_KERNEL_VIP_SRAM_READ_BW_LIMITATION_FIX */ |
| 0x0, /* gcFEATURE_BIT_USC_BOTTLENECK_FIX */ |
| 0x1, /* gcFEATURE_BIT_KERNEL_PER_CORE_LESS_THAN_THIRD_COEF_BUFF_DEPTH_FIX */ |
| 0x0, /* gcFEATURE_BIT_KERNEL_SIZE_WASTE_IN_PARTIAL_MODE_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_COMMAND_KERNEL_REQUEST_CONFICT_FIX */ |
| 0x0, /* gcFEATURE_BIT_TP_REORDER_INTILE_X_SIZE_512_FIX */ |
| 0x1, /* gcFEATURE_BIT_IMG_POP_PIPELINE_PAUSE_FIX */ |
| 0x0, /* gcFEATURE_BIT_FULLCACHE_KERNEL_INTERLEAVE_FIX */ |
| 0x0, /* gcFEATURE_BIT_V8_SINGLE_PORT_ACCUMULATION_BUFFER_RW_CONFICT_ZERO_SKIP_PERF_FIX */ |
| 0x0, /* gcFEATURE_BIT_V8_ACCUMLATION_READ_OUT_HAS_BUBBLES_PERF_FIX */ |
| 0x1, /* gcFEATURE_BIT_DEPTHWISE_NEIGHBOR_IMG_DATA_TRANSFER_NOT_EFFICIENT_FIX */ |
| 0x0, /* gcFEATURE_BIT_DR_JD_DIFF_CONDITION_FOR_CACHELINE_MODE_PRE_FIX */ |
| 0x0, /* gcFEATURE_BIT_TP_ACCESS_VIPSRAM_OT_IS_ONE_FIX */ |
| 0x0, /* gcFEATURE_BIT_EVIS2_FLOP_RESET_FIX */ |
| 0x1, /* gcFEATURE_BIT_OUTIMAGE_X_BITWIDTH_LIMIT_FOR_NN_TRANSPOSE_FIX */ |
| 0x0, /* gcFEATURE_BIT_USC_ASYNC_CP_RTN_FLOP_RESET_FIX */ |
| 0x1, /* gcFEATURE_BIT_IMG_ADDR_NOT_WRAP_IF_OVER_OCB_ADDR_FIX */ |
| 0x1, /* gcFEATURE_BIT_NEGATIVE_POST_SHIFT_FIX */ |
| 0x0, /* gcFEATURE_BIT_INIMAGE_2DTILE_NOT_LESS_160PIXEL_FIX */ |
| 0x1, /* gcFEATURE_BIT_IMG_CAHCE_MODE_MUST_0_IN_IMG_DIRECT_MODE_FIX */ |
| 0x0, /* gcFEATURE_BIT_BURST_COLLECT_DUMMY_DATA_WASTE_CYCLES_FIX */ |
| 0x0, /* gcFEATURE_BIT_INIMG_NOT_64BYTE_ALIGN_CACHELINE_MODE_FIX */ |
| 0x1, /* gcFEATURE_BIT_TP_FC_FLOAT_LAST_PIXEL_NEGATIVE_0_FIX */ |
| 0x1, /* gcFEATURE_BIT_NN_WASET_COEF_READ_WRITE_BANDWIDTH_128BYTE_VIPSRAM_IN_FULL_PATIAL_CACHE_MODE */ |
| 0x1, /* gcFEATURE_BIT_NN_IN_TILE_DATA_IS_ALL_PAD_FIX */ |
| 0x1, /* gcFEATURE_BIT_TP_FC_KERNEL_STREAM_MUST_LESS_THAN_OR_EQUAL_TO_64BYTE_WHEN_1BYTE_ALGINE_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_INTERLEVE8 */ |
| 0x0, /* gcFEATURE_BIT_NN_FP16_ALU */ |
| 0x1, /* gcFEATURE_BIT_NN_INT16_ALU */ |
| 0x1, /* gcFEATURE_BIT_NN_INT8_SCALE */ |
| 0x1, /* gcFEATURE_BIT_NN_POWER_ISOLATION */ |
| 0x0, /* gcFEATURE_BIT_ZRL_7BIT */ |
| 0x0, /* gcFEATURE_BIT_NN_SMALLBATCH_PHASE1 */ |
| 0x0, /* gcFEATURE_BIT_TP_SMALLBATCH_PHASE1 */ |
| 0x0, /* gcFEATURE_BIT_NN_SMALLBATCH */ |
| 0x0, /* gcFEATURE_BIT_TP_SMALLBATCH */ |
| 0x0, /* gcFEATURE_BIT_ZRL_8BIT */ |
| 0x0, /* gcFEATURE_BIT_DDR_BURST_LEN_256B */ |
| 0x0, /* gcFEATURE_BIT_XY_OFFSET_LIMITATION_FIX */ |
| 0x0, /* gcFEATURE_BIT_NN_NONZERO_MIRROR_BORDER */ |
| 0x0, /* gcFEATURE_BIT_IMAGE_PARTIAL_CACHE */ |
| }, |
| }; |
| |
| static gcsFEATURE_DATABASE* |
| gcQueryFeatureDB( |
| gctUINT32 ChipID, |
| gctUINT32 ChipVersion, |
| gctUINT32 ProductID, |
| gctUINT32 EcoID, |
| gctUINT32 CustomerID |
| ) |
| { |
| gctINT entryNum = sizeof(gChipInfo) / sizeof(gChipInfo[0]); |
| gctINT i; |
| |
| /* check formal release entries first */ |
| for (i = 0; i < entryNum; ++i) |
| { |
| |
| if ((gChipInfo[i].chipID == ChipID) |
| && (gChipInfo[i].chipVersion == ChipVersion) |
| && (gChipInfo[i].productID == ProductID) |
| && (gChipInfo[i].ecoID == EcoID) |
| && (gChipInfo[i].customerID == CustomerID) |
| && (gChipInfo[i].formalRelease) |
| ) |
| { |
| return &gChipInfo[i]; |
| } |
| } |
| |
| /* check informal release entries if we dont find in formal entries */ |
| for (i = 0; i < entryNum; ++i) |
| { |
| |
| if ((gChipInfo[i].chipID == ChipID) |
| && ((gChipInfo[i].chipVersion & 0xFFF0) == (ChipVersion & 0xFFF0)) |
| && (gChipInfo[i].productID == ProductID) |
| && (gChipInfo[i].ecoID == EcoID) |
| && (gChipInfo[i].customerID == CustomerID) |
| && (!gChipInfo[i].formalRelease) |
| ) |
| { |
| return &gChipInfo[i]; |
| } |
| } |
| |
| return gcvNULL; |
| } |
| #endif /* _gc_feature_database_h_ */ |