⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsglue.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
字号:
/**************************************************************************
 * Name         : wsglue.h
 * Author       : BCB
 * Created      : 07/08/2003
 *
 * Copyright    : 2003 by Imagination Technologies Limited. All rights reserved.
 *              : No part of this software, either material or conceptual 
 *              : may be copied or distributed, transmitted, transcribed,
 *              : stored in a retrieval system or translated into any 
 *              : human or computer language in any form by any means,
 *              : electronic, mechanical, manual or other-wise, or 
 *              : disclosed to third parties without the express written
 *              : permission of Imagination Technologies Limited, Unit 8, HomePark
 *              : Industrial Estate, King's Langley, Hertfordshire,
 *              : WD4 8LZ, U.K.
 *
 * Platform     : ANSI
 *
 * $Date: 2004/10/27 16:17:56 $ $Revision: 1.17 $
 * $Log: wsglue.h $
 **************************************************************************/

#ifndef _WSGLUE_
#define _WSGLUE_
#if defined (__cplusplus)
extern "C" {
#endif

#define GLES_ANTIALIAS_NONE		0x00000000
#define GLES_ANTIALIAS_2x1		0x00000001
#define GLES_ANTIALIAS_2x2		0x00000002

typedef enum 
{
	ROTATE_0,
	ROTATE_90,
	ROTATE_180,
	ROTATE_270
}GLESRotationAngle;

typedef struct GLEScontextModeRec {
    IMG_BOOL bHaveDepthBuffer;

	IMG_UINT32 ui32AntiAliasMode;

    IMG_UINT32 ui32RedBits, ui32GreenBits, ui32BlueBits, ui32AlphaBits;	/* bits per comp */
    IMG_UINT32 ui32RedShift, ui32GreenShift, ui32BlueShift, ui32AlphaShift;
    IMG_UINT32 ui32ColorBits;		/* total bits for rgb */

    IMG_UINT32 ui32DepthBits;

	PVRSRV_PIXEL_FORMAT ePixelFormat;
} GLEScontextMode;

typedef struct GLESAppHintsRec {
	IMG_BOOL bForceExternalZBuffer;
	IMG_INT32 i32SceneAntiAlias;
	IMG_UINT32 ui32ParameterBufferSize;
	IMG_BOOL bDumpProfileData;
	IMG_BOOL bLockToVSync;
	IMG_UINT32 ui32ProfileStartFrame;
	IMG_UINT32 ui32ProfileEndFrame;
	IMG_UINT32 ui32BackBuffers;
}GLESAppHints;

typedef IMG_UINT32 GLESRenderSurfaceHandle;

typedef struct GLESDrawableParamsTAG {
	GLESRotationAngle eRotationAngle;
	IMG_UINT32 ui32Width;
	IMG_UINT32 ui32Height;
	PVRSRV_PIXEL_FORMAT ePixelFormat;
	IMG_UINT32 ui32Stride;
	IMG_VOID   *pvLinSurfaceAddress;
	IMG_UINT32 ui32HWSurfaceAddress;
	PVRSRV_SYNC_INFO *psSyncInfo;
	PVRSRV_QUEUE_INFO *psQueueInfo;
	GLESRenderSurfaceHandle hRenderSurface;
	IMG_BOOL bIsPBuffer;
}GLESDrawableParams;

/* WS Glue -> OGLES Core */
IMG_BOOL GLESCreateRenderSurface(GLESSysContext *psSysContext, GLESAppHints *psAppHints, GLESRenderSurfaceHandle *phRenderSurface);

IMG_BOOL GLESDestroyRenderSurface(GLESSysContext *psSysContext, GLESRenderSurfaceHandle hRenderSurface);

/* OGLES Core -> WS Glue */
IMG_BOOL GLESGetDrawableParameters(GLESDrawableHandle hDrawable, GLESDrawableParams *psParams);

/* EGL Glue -> WS Glue */
IMG_BOOL GLESInitDisplay(GLESDrawableHandle hDrawable);

IMG_BOOL GLESCloseDisplay(GLESDrawableHandle hDrawable);

IMG_BOOL GLESCreateDrawable(GLESSysContext *psSysContext, GLESDrawableHandle *phDrawable, IMG_UINT32 ui32Width, 
							IMG_UINT32 ui32Height, GLEScontextMode *psMode, IMG_BOOL bDoubleBuffer);

IMG_BOOL GLESDestroyDrawable(GLESSysContext *psSysContext, GLESDrawableHandle hDrawable);

IMG_BOOL GLESMakeCurrentDrawable(GLESDrawableHandle hDrawable, GLESContextHandle hContext);

IMG_BOOL GLESSwapDrawable(GLESDrawableHandle hDrawable, IMG_UINT32 ui32Flags);

#if defined (__cplusplus)
}
#endif

#endif /* _WSGLUE */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -