📄 registers.h
字号:
/******************************************************************************
<module>
* Name : Registers.h
* Title : Interface for register-setup and management
* Author(s) : Imagination Technologies
* Created : 2 March 2004
*
* Copyright : 2004 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.
*
* Description : definitions and declarations for 3D-context register setup
* and maintenance
*
* Platform : Windows CE
*
</module>
$Log: registers.h $
********************************************************************************/
#if !defined(_REGISTERS_H_)
#define _REGISTERS_H_
/*
Default TA/3D-core register values
NB: Each entry consists of the index within the context SW register array,
and the corresponding HW register address and default value.
*/
typedef struct _SWREG_DEFAULT_
{
DWORD dwSWRegIdx;
PVRSRV_HWREG sReg;
} SWREG_DEFAULT, *PSWREG_DEFAULT;
extern SWREG_DEFAULT psDefault3DRegs[];
extern SWREG_DEFAULT psDefaultTARegs[];
/*
TA registers setup/used by the context
*/
typedef enum _D3DM_SWTAREG_
{
D3DM_SWTAREG_TAILPTRBASE,
D3DM_SWTAREG_REGION_BASE,
D3DM_SWTAREG_GLOBAL_LIST_CTRL,
D3DM_SWTAREG_XCLIP,
D3DM_SWTAREG_YCLIP,
D3DM_SWTAREG_RHWCLAMP,
D3DM_SWTAREG_RHWCOMP,
D3DM_SWTAREG_CONFIG,
D3DM_SWTAREG_COUNT,
D3DM_SWTAREG_FORCEDWORD = 0x7FFFFFFF
} D3DM_SWTAREG, *PD3DM_SWTAREG;
/*
3D-core registers setup/used by the context
*/
typedef enum _D3DM_SW3DREG_
{
D3DM_SW3DREG_RGNBASE = 0,
D3DM_SW3DREG_ZLOADSTORE,
D3DM_SW3DREG_FPUPERPVAL,
D3DM_SW3DREG_FPUCULLVAL,
D3DM_SW3DREG_3DPIXSAMP,
D3DM_SW3DREG_FOGCOLVERT,
D3DM_SW3DREG_SCALERCTL,
D3DM_SW3DREG_BLENDCTL,
D3DM_SW3DREG_ARGBSUM,
D3DM_SW3DREG_FBCTL,
D3DM_SW3DREG_FBXCLIP,
D3DM_SW3DREG_FBYCLIP,
D3DM_SW3DREG_FBSTART,
D3DM_SW3DREG_FBLINESTRIDE,
D3DM_SW3DREG_ZBASEADDR,
D3DM_SW3DREG_3DFLATSHADEDCS,
D3DM_SW3DREG_3D_ZL_BACKGROUND_DEPTH,
D3DM_SW3DREG_3D_ZL_BACKGROUND_TAG,
D3DM_SW3DREG_OBJBASE,
D3DM_SW3DREG_3DSCREENSIZE,
D3DM_SW3DREG_STARTRENDER,
D3DM_SW3DREG_COUNT,
D3DM_SW3DREG_FORCEDWORD = 0x7FFFFFFF
} D3DM_SW3DREG, *PD3DM_SW3DREG;
#define D3DM_SWMODREG_COUNT 2
/*****************************************************************************
FN prototypes
*****************************************************************************/
/* Sets up required registers for a new scene */
void SetupSceneRegs(LPD3DM_CONTEXT psContext);
/* Sets up h/w registers related to the chosen render-target */
void SetupRenderTargetRegs(LPD3DM_CONTEXT psContext);
/* Perform one-time initialisation of the context register arrays */
void SetupHWRegs(LPD3DM_CONTEXT psContext);
/* Sets up required registers for a mid scene render */
void SetupMidSceneModifyRegs(LPD3DM_CONTEXT psContext);
#endif /* #if !defined(_REGISTERS_H_) */
/*****************************************************************************
End of file (Registers.h)
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -