diff options
author | Jay Tu <jay.tu@freescale.com> | 2014-08-25 20:42:38 +0800 |
---|---|---|
committer | Jay Tu <jay.tu@freescale.com> | 2014-08-26 11:23:13 +0800 |
commit | d97f3bf0ddff331e6cfe342f1f1c779146173973 (patch) | |
tree | 696c34279c69e17fb930345d6c942ee72d3de02e /drivers/mxc/gpu-viv/hal/kernel/inc | |
parent | b560fd6518b12db412ce39847c30af29d452f508 (diff) |
ENGR00327608 [GPU] Integrate latest 4.6.9p13 release kernel driverjb4.3_1.1.1-ga
Integrate GPU latest release kernel driver for Android from imx_3.0.35_4.1.0
Signed-off-by: Jay Tu <jay.tu@freescale.com>
Acked-by: Jason Liu
Diffstat (limited to 'drivers/mxc/gpu-viv/hal/kernel/inc')
7 files changed, 101 insertions, 6 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h index 71321d6ba164..6445a41e7810 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h @@ -1497,6 +1497,13 @@ gckOS_StopTimer( IN gctPOINTER Timer ); +/* Get the global video memory mutex. */ +gceSTATUS +gckOS_GetVideoMemoryMutex( + IN gckOS Os, + OUT gctPOINTER *Mutex + ); + /******************************************************************************\ ********************************* gckHEAP Object ******************************** \******************************************************************************/ diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h index 375a8f5b03d1..800d1bce6a2c 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h @@ -2127,6 +2127,15 @@ gcoSURF_SetAlignment( IN gctUINT Height ); +/* Set width/height alignment and stride of the surface directly. This is only for dri backend now. Please be careful before use. */ +gceSTATUS +gcoSURF_SetAlignmentEx( + IN gcoSURF Surface, + IN gctUINT Width, + IN gctUINT Height, + IN gctUINT Stride + ); + /* Increase reference count of the surface. */ gceSTATUS gcoSURF_ReferenceSurface( diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h index f8413700031a..2c744012e02a 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h @@ -455,6 +455,7 @@ typedef struct _gcsKERNEL_FUNCTION * gcKERNEL_FUNCTION; typedef struct _gcsHINT * gcsHINT_PTR; typedef struct _gcSHADER_PROFILER * gcSHADER_PROFILER; typedef struct _gcVARIABLE * gcVARIABLE; +typedef struct _gcSHADER_LIST * gcSHADER_LIST; struct _gcsHINT { @@ -523,6 +524,11 @@ struct _gcsHINT #if TEMP_SHADER_PATCH gctUINT32 pachedShaderIdentifier; #endif + +#if gcdUSE_WCLIP_PATCH + /* Strict WClip match. */ + gctBOOL strictWClipMatch; +#endif }; #if TEMP_SHADER_PATCH @@ -3230,6 +3236,12 @@ gcATTRIBUTE_IsEnabled( OUT gctBOOL * Enabled ); +gceSTATUS +gcATTRIBUTE_GetIndex( + IN gcATTRIBUTE Attribute, + OUT gctUINT16 * Index + ); + /******************************************************************************* ** gcUNIFORM_GetType ******************************************************************************** @@ -3392,6 +3404,12 @@ gcUNIFORM_GetSampler( OUT gctUINT32 * Sampler ); +gceSTATUS +gcUNIFORM_GetIndex( + IN gcUNIFORM Uniform, + OUT gctUINT16 * Index + ); + /******************************************************************************* ** gcUNIFORM_GetFormat ** @@ -4290,6 +4308,46 @@ gcSHADER_PatchZBiasForMachineCodeVS( IN OUT gcsHINT_PTR pHints /* User needs copy original hints to this one, then passed this one in */ ); +gceSTATUS +gcSHADER_InsertList( + IN gcSHADER Shader, + IN gcSHADER_LIST * Root, + IN gctINT Index, + IN gctINT Data0, + IN gctINT Data1 + ); + +gceSTATUS +gcSHADER_UpdateList( + IN gcSHADER Shader, + IN gcSHADER_LIST Root, + IN gctINT Index, + IN gctINT NewIndex + ); + +gceSTATUS +gcSHADER_DeleteList( + IN gcSHADER Shader, + IN gcSHADER_LIST * Root, + IN gctINT Index + ); + +gceSTATUS +gcSHADER_FindList( + IN gcSHADER Shader, + IN gcSHADER_LIST Root, + IN gctINT Index, + IN gcSHADER_LIST * List + ); + +gceSTATUS +gcSHADER_InsertWClipList( + IN gcSHADER Shader, + IN gctINT Index, + IN gctINT Data0, + IN gctINT Data1 + ); + #ifdef __cplusplus } #endif diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h index c4347e1e0bbc..7a62d3fec89c 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h @@ -55,18 +55,21 @@ typedef struct _DFBPixmap * HALNativePixmapType; #include "wayland-server.h" #include <wayland-egl.h> -#define WL_EGL_NUM_BACKBUFFERS 2 +#define WL_EGL_NUM_BACKBUFFERS 3 typedef struct _gcsWL_VIV_BUFFER { - struct wl_buffer wl_buffer; + struct wl_resource *wl_buffer; gcoSURF surface; + gctINT32 width, height; } gcsWL_VIV_BUFFER; typedef struct _gcsWL_EGL_DISPLAY { struct wl_display* wl_display; struct wl_viv* wl_viv; + struct wl_registry *registry; + struct wl_event_queue *wl_queue; } gcsWL_EGL_DISPLAY; typedef struct _gcsWL_EGL_BUFFER_INFO @@ -79,6 +82,9 @@ typedef struct _gcsWL_EGL_BUFFER_INFO gcePOOL pool; gctUINT bytes; gcoSURF surface; + gcoSURF attached_surface; + gctINT32 invalidate; + gctBOOL locked; } gcsWL_EGL_BUFFER_INFO; typedef struct _gcsWL_EGL_BUFFER @@ -89,19 +95,24 @@ typedef struct _gcsWL_EGL_BUFFER typedef struct _gcsWL_EGL_WINDOW_INFO { + gctINT32 dx; + gctINT32 dy; gctUINT width; gctUINT height; + gctINT32 attached_width; + gctINT32 attached_height; gceSURF_FORMAT format; gctUINT bpp; } gcsWL_EGL_WINDOW_INFO; struct wl_egl_window { + gcsWL_EGL_DISPLAY* display; gcsWL_EGL_BUFFER backbuffers[WL_EGL_NUM_BACKBUFFERS]; gcsWL_EGL_WINDOW_INFO info; gctUINT current; struct wl_surface* surface; - struct wl_callback* pending; + struct wl_callback* frame_callback; }; typedef void* HALNativeDisplayType; 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 522253779182..d8141e09ec74 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 @@ -224,6 +224,7 @@ typedef enum _gceSURF_TYPE gcvSURF_TILE_STATUS_DIRTY = 0x1000, /* Init tile status to all dirty */ gcvSURF_LINEAR = 0x2000, + gcvSURF_VG = 0x4000, gcvSURF_TEXTURE_LINEAR = gcvSURF_TEXTURE | gcvSURF_LINEAR, diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h index f79d3ef1392c..4c1dc3ef8119 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h @@ -726,7 +726,7 @@ Support swap with a specific rectangle. - Set the rectangle with eglSetSwapRectangleVIV api. + Set the rectangle with eglSetSwapRectangleANDROID api. */ #ifndef gcdSUPPORT_SWAP_RECTANGLE # define gcdSUPPORT_SWAP_RECTANGLE 0 diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h index b44652944c92..d33e8c280aa0 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h +++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h @@ -18,7 +18,6 @@ * *****************************************************************************/ - #ifndef __gc_hal_types_h_ #define __gc_hal_types_h_ @@ -1015,6 +1014,7 @@ typedef enum _gcePATCH_ID gcePATCH_RTESTVA, gcePATCH_BMX, gcePATCH_BMGUI, + gcePATCH_ANDROID_CTS_MEDIA_PRESENTATIONTIME, /* Game list */ gcePATCH_NBA2013, @@ -1048,7 +1048,16 @@ typedef enum _gcePATCH_ID gcePATCH_DUOKANTV, gcePATCH_TESTAPP, gcePATCH_GOOGLEEARTH, - + gcePATCH_SF4, + gcePATCH_SPEEDRACE, + gcePATCH_AIRNAVY, + gcePATCH_F18NEW, + gcePATCH_F18, + gcePATCH_WISTONESG, + gcvPATCH_VECUNIT_RED, + gcvPATCH_NAMESGAS, + gcvPATCH_AFTERBURNER, + gcvPATCH_UIMARK, /* Count enum*/ gcePATCH_COUNT, } |