summaryrefslogtreecommitdiff
path: root/info/features.h
diff options
context:
space:
mode:
Diffstat (limited to 'info/features.h')
-rw-r--r--info/features.h216
1 files changed, 216 insertions, 0 deletions
diff --git a/info/features.h b/info/features.h
new file mode 100644
index 0000000..c1ef793
--- /dev/null
+++ b/info/features.h
@@ -0,0 +1,216 @@
+static struct feature vivante_chipFeatures[] __maybe_unused = {
+#define FEATURE(x) { chipFeatures_##x, #x }
+ FEATURE(FAST_CLEAR),
+ FEATURE(SPECIAL_ANTI_ALIASING),
+ FEATURE(PIPE_3D),
+ FEATURE(DXT_TEXTURE_COMPRESSION),
+ FEATURE(DEBUG_MODE),
+ FEATURE(Z_COMPRESSION),
+ FEATURE(YUV420_SCALER),
+ FEATURE(MSAA),
+ FEATURE(DC),
+ FEATURE(PIPE_2D),
+ FEATURE(ETC1_TEXTURE_COMPRESSION),
+ FEATURE(FAST_SCALER),
+ FEATURE(HIGH_DYNAMIC_RANGE),
+ FEATURE(YUV420_TILER),
+ FEATURE(MODULE_CG),
+ FEATURE(MIN_AREA),
+ FEATURE(NO_EARLY_Z),
+ FEATURE(NO_422_TEXTURE),
+ FEATURE(BUFFER_INTERLEAVING),
+ FEATURE(BYTE_WRITE_2D),
+ FEATURE(NO_SCALER),
+ FEATURE(YUY2_AVERAGING),
+ FEATURE(HALF_PE_CACHE),
+ FEATURE(HALF_TX_CACHE),
+ FEATURE(YUY2_RENDER_TARGET),
+ FEATURE(MEM32),
+ FEATURE(PIPE_VG),
+ FEATURE(VGTS),
+ FEATURE(FE20),
+ FEATURE(BYTE_WRITE_3D),
+ FEATURE(RS_YUV_TARGET),
+ FEATURE(32_BIT_INDICES),
+#undef FEATURE
+};
+static struct feature vivante_chipMinorFeatures0[] __maybe_unused = {
+#define FEATURE(x) { chipMinorFeatures0_##x, #x }
+ FEATURE(FLIP_Y),
+ FEATURE(DUAL_RETURN_BUS),
+ FEATURE(ENDIANNESS_CONFIG),
+ FEATURE(TEXTURE_8K),
+ FEATURE(CORRECT_TEXTURE_CONVERTER),
+ FEATURE(SPECIAL_MSAA_LOD),
+ FEATURE(FAST_CLEAR_FLUSH),
+ FEATURE(2DPE20),
+ FEATURE(CORRECT_AUTO_DISABLE),
+ FEATURE(RENDERTARGET_8K),
+ FEATURE(2BITPERTILE),
+ FEATURE(SEPARATE_TILE_STATUS_WHEN_INTERLEAVED),
+ FEATURE(SUPER_TILED),
+ FEATURE(VG_20),
+ FEATURE(TS_EXTENDED_COMMANDS),
+ FEATURE(COMPRESSION_FIFO_FIXED),
+ FEATURE(HAS_SIGN_FLOOR_CEIL),
+ FEATURE(VG_FILTER),
+ FEATURE(VG_21),
+ FEATURE(SHADER_HAS_W),
+ FEATURE(HAS_SQRT_TRIG),
+ FEATURE(MORE_MINOR_FEATURES),
+ FEATURE(MC20),
+ FEATURE(MSAA_SIDEBAND),
+ FEATURE(BUG_FIXES0),
+ FEATURE(VAA),
+ FEATURE(BYPASS_IN_MSAA),
+ FEATURE(HZ),
+ FEATURE(NEW_TEXTURE),
+ FEATURE(2D_A8_TARGET),
+ FEATURE(CORRECT_STENCIL),
+ FEATURE(ENHANCE_VR),
+#undef FEATURE
+};
+static struct feature vivante_chipMinorFeatures1[] __maybe_unused = {
+#define FEATURE(x) { chipMinorFeatures1_##x, #x }
+ FEATURE(RSUV_SWIZZLE),
+ FEATURE(V2_COMPRESSION),
+ FEATURE(VG_DOUBLE_BUFFER),
+ FEATURE(EXTRA_EVENT_STATES),
+ FEATURE(NO_STRIPING_NEEDED),
+ FEATURE(TEXTURE_STRIDE),
+ FEATURE(BUG_FIXES3),
+ FEATURE(AUTO_DISABLE),
+ FEATURE(AUTO_RESTART_TS),
+ FEATURE(DISABLE_PE_GATING),
+ FEATURE(L2_WINDOWING),
+ FEATURE(HALF_FLOAT),
+ FEATURE(PIXEL_DITHER),
+ FEATURE(TWO_STENCIL_REFERENCE),
+ FEATURE(EXTENDED_PIXEL_FORMAT),
+ FEATURE(CORRECT_MIN_MAX_DEPTH),
+ FEATURE(2D_DITHER),
+ FEATURE(BUG_FIXES5),
+ FEATURE(NEW_2D),
+ FEATURE(NEW_FP),
+ FEATURE(TEXTURE_HALIGN),
+ FEATURE(NON_POWER_OF_TWO),
+ FEATURE(LINEAR_TEXTURE_SUPPORT),
+ FEATURE(HALTI0),
+ FEATURE(CORRECT_OVERFLOW_VG),
+ FEATURE(NEGATIVE_LOG_FIX),
+ FEATURE(RESOLVE_OFFSET),
+ FEATURE(OK_TO_GATE_AXI_CLOCK),
+ FEATURE(MMU_VERSION),
+ FEATURE(WIDE_LINE),
+ FEATURE(BUG_FIXES6),
+ FEATURE(FC_FLUSH_STALL),
+#undef FEATURE
+};
+static struct feature vivante_chipMinorFeatures2[] __maybe_unused = {
+#define FEATURE(x) { chipMinorFeatures2_##x, #x }
+ FEATURE(LINE_LOOP),
+ FEATURE(LOGIC_OP),
+ FEATURE(UNK2),
+ FEATURE(SUPERTILED_TEXTURE),
+ FEATURE(UNK4),
+ FEATURE(RECT_PRIMITIVE),
+ FEATURE(COMPOSITION),
+ FEATURE(CORRECT_AUTO_DISABLE_COUNT),
+ FEATURE(UNK8),
+ FEATURE(UNK9),
+ FEATURE(UNK10),
+ FEATURE(HALTI1),
+ FEATURE(UNK12),
+ FEATURE(UNK13),
+ FEATURE(UNK14),
+ FEATURE(EXTRA_TEXTURE_STATE),
+ FEATURE(FULL_DIRECTFB),
+ FEATURE(2D_TILING),
+ FEATURE(THREAD_WALKER_IN_PS),
+ FEATURE(TILE_FILLER),
+ FEATURE(UNK20),
+ FEATURE(2D_MULTI_SOURCE_BLIT),
+ FEATURE(UNK22),
+ FEATURE(UNK23),
+ FEATURE(UNK24),
+ FEATURE(MIXED_STREAMS),
+ FEATURE(2D_420_L2CACHE),
+ FEATURE(UNK27),
+ FEATURE(2D_NO_INDEX8_BRUSH),
+ FEATURE(TEXTURE_TILED_READ),
+ FEATURE(UNK30),
+ FEATURE(UNK31),
+#undef FEATURE
+};
+static struct feature vivante_chipMinorFeatures3[] __maybe_unused = {
+#define FEATURE(x) { chipMinorFeatures3_##x, #x }
+ FEATURE(ROTATION_STALL_FIX),
+ FEATURE(UNK1),
+ FEATURE(2D_MULTI_SOURCE_BLT_EX),
+ FEATURE(UNK3),
+ FEATURE(UNK4),
+ FEATURE(UNK5),
+ FEATURE(UNK6),
+ FEATURE(UNK7),
+ FEATURE(FAST_MSAA),
+ FEATURE(UNK9),
+ FEATURE(BUG_FIXES10),
+ FEATURE(UNK11),
+ FEATURE(BUG_FIXES11),
+ FEATURE(UNK13),
+ FEATURE(UNK14),
+ FEATURE(UNK15),
+ FEATURE(UNK16),
+ FEATURE(UNK17),
+ FEATURE(ACE),
+ FEATURE(UNK19),
+ FEATURE(UNK20),
+ FEATURE(UNK21),
+ FEATURE(UNK22),
+ FEATURE(UNK23),
+ FEATURE(UNK24),
+ FEATURE(UNK25),
+ FEATURE(NEW_HZ),
+ FEATURE(UNK27),
+ FEATURE(UNK28),
+ FEATURE(UNK29),
+ FEATURE(UNK30),
+ FEATURE(UNK31),
+#undef FEATURE
+};
+static struct feature vivante_chipMinorFeatures4[] __maybe_unused = {
+#define FEATURE(x) { chipMinorFeatures4_##x, #x }
+ FEATURE(UNK0),
+ FEATURE(UNK1),
+ FEATURE(UNK2),
+ FEATURE(UNK3),
+ FEATURE(UNK4),
+ FEATURE(UNK5),
+ FEATURE(UNK6),
+ FEATURE(UNK7),
+ FEATURE(UNK8),
+ FEATURE(UNK9),
+ FEATURE(UNK10),
+ FEATURE(UNK11),
+ FEATURE(UNK12),
+ FEATURE(UNK13),
+ FEATURE(UNK14),
+ FEATURE(UNK15),
+ FEATURE(HALTI2),
+ FEATURE(UNK17),
+ FEATURE(SMALL_MSAA),
+ FEATURE(UNK19),
+ FEATURE(UNK20),
+ FEATURE(UNK21),
+ FEATURE(UNK22),
+ FEATURE(UNK23),
+ FEATURE(UNK24),
+ FEATURE(UNK25),
+ FEATURE(UNK26),
+ FEATURE(UNK27),
+ FEATURE(UNK28),
+ FEATURE(UNK29),
+ FEATURE(UNK30),
+ FEATURE(UNK31),
+#undef FEATURE
+};