summaryrefslogtreecommitdiff
path: root/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h')
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h125
1 files changed, 104 insertions, 21 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h
index a1d9ae5dc610..8e3c2f89a8a2 100644
--- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h
+++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h
@@ -146,10 +146,26 @@ typedef enum _gceFEATURE
gcvFEATURE_FRUSTUM_CLIP_FIX,
gcvFEATURE_TEXTURE_LINEAR,
gcvFEATURE_TEXTURE_YUV_ASSEMBLER,
+ gcvFEATURE_SHADER_HAS_INSTRUCTION_CACHE,
gcvFEATURE_DYNAMIC_FREQUENCY_SCALING,
gcvFEATURE_BUGFIX15,
+ gcvFEATURE_2D_GAMMA,
+ gcvFEATURE_2D_COLOR_SPACE_CONVERSION,
+ gcvFEATURE_2D_SUPER_TILE_VERSION,
gcvFEATURE_2D_MIRROR_EXTENSION,
+ gcvFEATURE_2D_SUPER_TILE_V1,
+ gcvFEATURE_2D_SUPER_TILE_V2,
+ gcvFEATURE_2D_SUPER_TILE_V3,
+ gcvFEATURE_2D_MULTI_SOURCE_BLT_EX2,
gcvFEATURE_ELEMENT_INDEX_UINT,
+ gcvFEATURE_2D_COMPRESSION,
+ gcvFEATURE_2D_OPF_YUV_OUTPUT,
+ gcvFEATURE_2D_MULTI_SRC_BLT_TO_UNIFIED_DST_RECT,
+ gcvFEATURE_2D_YUV_MODE,
+ gcvFEATURE_DECOMPRESS_Z16,
+ gcvFEATURE_LINEAR_RENDER_TARGET,
+ gcvFEATURE_BUG_FIXES8,
+ gcvFEATURE_HALTI2,
}
gceFEATURE;
@@ -203,11 +219,14 @@ typedef enum _gceSURF_TYPE
gcvSURF_NO_VIDMEM = 0x200, /* Used to allocate surfaces with no underlying vidmem node.
In Android, vidmem node is allocated by another process. */
gcvSURF_CACHEABLE = 0x400, /* Used to allocate a cacheable surface */
-#if gcdANDROID_UNALIGNED_LINEAR_COMPOSITION_ADJUST
gcvSURF_FLIP = 0x800, /* The Resolve Target the will been flip resolve from RT */
-#endif
gcvSURF_TILE_STATUS_DIRTY = 0x1000, /* Init tile status to all dirty */
+ gcvSURF_LINEAR = 0x2000,
+
+ gcvSURF_TEXTURE_LINEAR = gcvSURF_TEXTURE
+ | gcvSURF_LINEAR,
+
gcvSURF_RENDER_TARGET_NO_TILE_STATUS = gcvSURF_RENDER_TARGET
| gcvSURF_NO_TILE_STATUS,
@@ -217,6 +236,9 @@ typedef enum _gceSURF_TYPE
gcvSURF_DEPTH_NO_TILE_STATUS = gcvSURF_DEPTH
| gcvSURF_NO_TILE_STATUS,
+ gcvSURF_DEPTH_TS_DIRTY = gcvSURF_DEPTH
+ | gcvSURF_TILE_STATUS_DIRTY,
+
/* Supported surface types with no vidmem node. */
gcvSURF_BITMAP_NO_VIDMEM = gcvSURF_BITMAP
| gcvSURF_NO_VIDMEM,
@@ -231,10 +253,8 @@ typedef enum _gceSURF_TYPE
gcvSURF_CACHEABLE_BITMAP = gcvSURF_BITMAP
| gcvSURF_CACHEABLE,
-#if gcdANDROID_UNALIGNED_LINEAR_COMPOSITION_ADJUST
gcvSURF_FLIP_BITMAP = gcvSURF_BITMAP
| gcvSURF_FLIP,
-#endif
}
gceSURF_TYPE;
@@ -263,6 +283,9 @@ typedef enum _gceSURF_ROTATION
gcvSURF_270_DEGREE,
gcvSURF_FLIP_X,
gcvSURF_FLIP_Y,
+
+ gcvSURF_POST_FLIP_X = 0x40000000,
+ gcvSURF_POST_FLIP_Y = 0x80000000,
}
gceSURF_ROTATION;
@@ -622,21 +645,16 @@ gce2D_PORTER_DUFF_RULE;
typedef enum _gce2D_YUV_COLOR_MODE
{
gcv2D_YUV_601= 0,
- gcv2D_YUV_709
-}
-gce2D_YUV_COLOR_MODE;
+ gcv2D_YUV_709,
+ gcv2D_YUV_USER_DEFINED,
+ gcv2D_YUV_USER_DEFINED_CLAMP,
-/* 2D Rotation and flipping. */
-typedef enum _gce2D_ORIENTATION
-{
- gcv2D_0_DEGREE = 0,
- gcv2D_90_DEGREE,
- gcv2D_180_DEGREE,
- gcv2D_270_DEGREE,
- gcv2D_X_FLIP,
- gcv2D_Y_FLIP
+ /* Default setting is for src. gcv2D_YUV_DST
+ can be ORed to set dst.
+ */
+ gcv2D_YUV_DST = 0x80000000,
}
-gce2D_ORIENTATION;
+gce2D_YUV_COLOR_MODE;
typedef enum _gce2D_COMMAND
{
@@ -656,21 +674,39 @@ typedef enum _gce2D_TILE_STATUS_CONFIG
gcv2D_TSC_ENABLE = 0x00000001,
gcv2D_TSC_COMPRESSED = 0x00000002,
gcv2D_TSC_DOWN_SAMPLER = 0x00000004,
+ gcv2D_TSC_2D_COMPRESSED = 0x00000008,
}
gce2D_TILE_STATUS_CONFIG;
typedef enum _gce2D_QUERY
{
- gcv2D_QUERY_RGB_ADDRESS_MAX_ALIGN = 0,
- gcv2D_QUERY_RGB_STRIDE_MAX_ALIGN,
- gcv2D_QUERY_YUV_ADDRESS_MAX_ALIGN,
- gcv2D_QUERY_YUV_STRIDE_MAX_ALIGN,
+ gcv2D_QUERY_RGB_ADDRESS_MIN_ALIGN = 0,
+ gcv2D_QUERY_RGB_STRIDE_MIN_ALIGN,
+ gcv2D_QUERY_YUV_ADDRESS_MIN_ALIGN,
+ gcv2D_QUERY_YUV_STRIDE_MIN_ALIGN,
}
gce2D_QUERY;
+typedef enum _gce2D_SUPER_TILE_VERSION
+{
+ gcv2D_SUPER_TILE_VERSION_V1 = 1,
+ gcv2D_SUPER_TILE_VERSION_V2 = 2,
+ gcv2D_SUPER_TILE_VERSION_V3 = 3,
+}
+gce2D_SUPER_TILE_VERSION;
+
typedef enum _gce2D_STATE
{
gcv2D_STATE_SPECIAL_FILTER_MIRROR_MODE = 1,
+ gcv2D_STATE_SUPER_TILE_VERSION,
+ gcv2D_STATE_EN_GAMMA,
+ gcv2D_STATE_DE_GAMMA,
+ gcv2D_STATE_MULTI_SRC_BLIT_UNIFIED_DST_RECT,
+
+ gcv2D_STATE_ARRAY_EN_GAMMA = 0x10001,
+ gcv2D_STATE_ARRAY_DE_GAMMA,
+ gcv2D_STATE_ARRAY_CSC_YUV_TO_RGB,
+ gcv2D_STATE_ARRAY_CSC_RGB_TO_YUV,
}
gce2D_STATE;
@@ -809,6 +845,15 @@ typedef enum _gceUSER_SIGNAL_COMMAND_CODES
}
gceUSER_SIGNAL_COMMAND_CODES;
+/* Sync point command codes. */
+typedef enum _gceSYNC_POINT_COMMAND_CODES
+{
+ gcvSYNC_POINT_CREATE,
+ gcvSYNC_POINT_DESTROY,
+ gcvSYNC_POINT_SIGNAL,
+}
+gceSYNC_POINT_COMMAND_CODES;
+
/* Event locations. */
typedef enum _gceKERNEL_WHERE
{
@@ -848,6 +893,44 @@ typedef enum _gceDEBUG_MESSAGE_TYPE
}
gceDEBUG_MESSAGE_TYPE;
+typedef enum _gceSPECIAL_HINT
+{
+ gceSPECIAL_HINT0,
+ gceSPECIAL_HINT1,
+ gceSPECIAL_HINT2,
+ gceSPECIAL_HINT3,
+ /* For disable dynamic stream/index */
+ gceSPECIAL_HINT4
+}
+gceSPECIAL_HINT;
+
+typedef enum _gceMACHINECODE
+{
+ gcvMACHINECODE_HOVERJET0 = 0x0,
+ gcvMACHINECODE_HOVERJET1 ,
+
+ gcvMACHINECODE_TAIJI0 ,
+ gcvMACHINECODE_TAIJI1 ,
+ gcvMACHINECODE_TAIJI2 ,
+
+ gcvMACHINECODE_ANTUTU0 ,
+
+ gcvMACHINECODE_GLB27_RELEASE_0,
+ gcvMACHINECODE_GLB27_RELEASE_1,
+
+ gcvMACHINECODE_WAVESCAPE0 ,
+ gcvMACHINECODE_WAVESCAPE1 ,
+
+ gcvMACHINECODE_NENAMARKV2_4_0 ,
+ gcvMACHINECODE_NENAMARKV2_4_1 ,
+
+ gcvMACHINECODE_GLB25_RELEASE_0,
+ gcvMACHINECODE_GLB25_RELEASE_1,
+ gcvMACHINECODE_GLB25_RELEASE_2,
+}
+gceMACHINECODE;
+
+
/******************************************************************************\
****************************** Object Declarations *****************************
\******************************************************************************/