1.3.13.1607/3_00_00_08+flat+Lindent
[sgx.git] / pvr / sgxscript.h
1 /**********************************************************************
2  *
3  * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved.
4  * 
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  * 
9  * This program is distributed in the hope it will be useful but, except 
10  * as otherwise stated in writing, without any warranty; without even the 
11  * implied warranty of merchantability or fitness for a particular purpose. 
12  * See the GNU General Public License for more details.
13  * 
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17  * 
18  * The full GNU General Public License is included in this distribution in
19  * the file called "COPYING".
20  *
21  * Contact Information:
22  * Imagination Technologies Ltd. <gpl-support@imgtec.com>
23  * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK 
24  *
25  ******************************************************************************/
26
27 #ifndef __SGXSCRIPT_H__
28 #define __SGXSCRIPT_H__
29
30 #if defined (__cplusplus)
31 extern "C" {
32 #endif
33
34 #define SGX_MAX_INIT_COMMANDS   64
35 #define SGX_MAX_DEINIT_COMMANDS 16
36
37         typedef enum _SGX_INIT_OPERATION {
38                 SGX_INIT_OP_ILLEGAL = 0,
39                 SGX_INIT_OP_WRITE_HW_REG,
40 #if defined(PDUMP)
41                 SGX_INIT_OP_PDUMP_HW_REG,
42 #endif
43                 SGX_INIT_OP_HALT
44         } SGX_INIT_OPERATION;
45
46         typedef union _SGX_INIT_COMMAND {
47                 SGX_INIT_OPERATION eOp;
48                 struct {
49                         SGX_INIT_OPERATION eOp;
50                         IMG_UINT32 ui32Offset;
51                         IMG_UINT32 ui32Value;
52                 } sWriteHWReg;
53 #if defined(PDUMP)
54                 struct {
55                         SGX_INIT_OPERATION eOp;
56                         IMG_UINT32 ui32Offset;
57                         IMG_UINT32 ui32Value;
58                 } sPDumpHWReg;
59 #endif
60         } SGX_INIT_COMMAND;
61
62         typedef struct _SGX_INIT_SCRIPTS_ {
63                 SGX_INIT_COMMAND asInitCommands[SGX_MAX_INIT_COMMANDS];
64                 SGX_INIT_COMMAND asDeinitCommands[SGX_MAX_DEINIT_COMMANDS];
65         } SGX_INIT_SCRIPTS;
66
67 #if defined(__cplusplus)
68 }
69 #endif
70 #endif