summaryrefslogtreecommitdiff
path: root/drivers/mxc/gpu-viv/hal/kernel/inc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mxc/gpu-viv/hal/kernel/inc')
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h7
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_base.h9
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_compiler.h58
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_eglplatform.h17
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_enum.h1
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_options.h2
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal_types.h13
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,
}