blob: 961b7c2c9c968fb975edf38e2b204eec3c11e431 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/*
Vita Development Suite Libraries
*/
#ifndef _VDSUITE_USER_GXM_INIT_H
#define _VDSUITE_USER_GXM_INIT_H
/** @file
*/
#include_next <gxm/init.h>
#ifdef __cplusplus
extern "C" {
#endif // def __cplusplus
/** Flags for libgxm initialization.
@ingroup render
*/
typedef enum SceGxmInitializeFlagsInternal
{
SCE_GXM_INITIALIZE_FLAG_PB_USE_USER_MEMORY = 0x00000001U, ///< Use uncached main memory for the parameter buffer.
SCE_GXM_INITIALIZE_FLAG_PBDESCFLAGS_ZLS_OVERRIDE = 0x00000002U,
SCE_GXM_INITIALIZE_FLAG_PBDESCFLAGS_SHARED = 0x00000004U, ///< The parameter buffer can be shared between rendering contexts.
SCE_GXM_INITIALIZE_FLAG_DRIVER_MEM_SHARE = 0x00000008U ///< Use shared driver memory for the parameter buffer.
} SceGxmInitializeFlagsInternal;
/** Initializes the libgxm library for shared sync objects.
Internally this function will prepare this process for rendering, creating
the parameter buffer with the given size.
This function must be called before any other libgxm object is created, such
as a context, or sync object.
@param[in] params A pointer to a populated SceGxmInitializeParams structure.
@retval
SCE_OK The operation completed successfully.
@retval
SCE_GXM_ERROR_INVALID_POINTER The SceGxmInitializeParams pointer was <c>NULL</c>.
@retval
SCE_GXM_ERROR_INVALID_VALUE One or more parameters were invalid.
@retval
SCE_GXM_ERROR_ALREADY_INITIALIZED The operation failed because libgxm is already initialized.
@retval
SCE_GXM_ERROR_OUT_OF_MEMORY There was no memory to perform the operation.
@retval
SCE_GXM_ERROR_DRIVER The operation failed due to a driver error.
@ingroup render
*/
SceGxmErrorCode sceGxmInitializeInternal(const SceGxmInitializeParams *params);
/** Checks if the libgxm library was initialized for shared sync objects.
@return
Returns <c>true</c> if the libgxm library was initialized for shared sync objects; otherwise <c>false</c> is returned.
@ingroup render
*/
bool sceGxmIsInitializedInternal(void);
/** Gets PowerVR service device data.
@return
Pointer to device data.
@ingroup render
*/
void *sceGxmGetDeviceData(void);
#ifdef __cplusplus
}
#endif // def __cplusplus
#endif /* _VDSUITE_USER_GXM_INIT_H */
|