blob: f659894989dbd1f1f142b048add4f0d75c874fd1 (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
/*
Vita Development Suite Libraries
*/
#ifndef _DOLCESDK_PSP2_GXM_SYNC_OBJECT_INTERNAL_H_
#define _DOLCESDK_PSP2_GXM_SYNC_OBJECT_INTERNAL_H_
/** @file
*/
#include_next <gxm/sync_object.h>
#ifdef __cplusplus
extern "C" {
#endif // def __cplusplus
/** Creates a shared sync object. Currently sync objects are used purely to
synchronize rendering with display operations in the display queue.
@param[in] key The key for the shared sync object.
@param[out] syncObject A pointer to storage for a sync object pointer.
@retval
SCE_OK The operation was completed successfully.
@retval
SCE_GXM_ERROR_UNINITIALIZED The operation failed as libgxm is not initialized, or not initialized to allow shared sync objects.
@retval
SCE_GXM_ERROR_INVALID_VALUE The operation failed as the <c><i>key</i></c> parameter was 0.
@retval
SCE_GXM_ERROR_INVALID_POINTER The operation failed as the sync object pointer was <c>NULL</c>.
@retval
SCE_GXM_ERROR_DRIVER The operation failed due to a driver error.
@ingroup render
*/
SceGxmErrorCode sceGxmSyncObjectCreateShared(uint32_t key, SceGxmSyncObject **syncObject);
/** Deletes a shared sync object.
@param[in] key The key for the shared sync object.
@retval
SCE_OK The operation was completed successfully.
@retval
SCE_GXM_ERROR_UNINITIALIZED The operation failed as libgxm is not initialized.
@retval
SCE_GXM_ERROR_INVALID_VALUE The operation failed as the <c><i>key</i></c> parameter was 0.
@retval
SCE_GXM_ERROR_DRIVER The operation failed due to a driver error.
@ingroup render
*/
SceGxmErrorCode sceGxmSyncObjectDeleteShared(uint32_t key);
/** Opens a shared sync object.
@param[in] key The key for the shared sync object.
@param[out] syncObject A pointer to storage for a sync object pointer.
@retval
SCE_OK The operation was completed successfully.
@retval
SCE_GXM_ERROR_UNINITIALIZED The operation failed as libgxm is not initialized, or not initialized to allow shared sync objects.
@retval
SCE_GXM_ERROR_INVALID_VALUE The operation failed as the <c><i>key</i></c> parameter was 0.
@retval
SCE_GXM_ERROR_INVALID_POINTER The operation failed as the sync object pointer was <c>NULL</c>, or the <c><i>key</i></c> parameter was invalid.
@retval
SCE_GXM_ERROR_DRIVER The operation failed due to a driver error.
@ingroup render
*/
SceGxmErrorCode sceGxmSyncObjectOpenShared(uint32_t key, SceGxmSyncObject **syncObject);
/** Closes a shared sync object.
@param[in] key The key for the shared sync object.
@param[in,out] syncObject A sync object pointer.
@retval
SCE_OK The operation was completed successfully.
@retval
SCE_GXM_ERROR_UNINITIALIZED The operation failed as libgxm is not initialized.
@retval
SCE_GXM_ERROR_INVALID_VALUE The operation failed as the <c><i>key</i></c> parameter was 0.
@retval
SCE_GXM_ERROR_INVALID_POINTER The operation failed as the sync object pointer was <c>NULL</c>.
@retval
SCE_GXM_ERROR_DRIVER The operation failed due to a driver error.
@ingroup render
*/
SceGxmErrorCode sceGxmSyncObjectCloseShared(uint32_t key, SceGxmSyncObject *syncObject);
#ifdef __cplusplus
}
#endif // def __cplusplus
#endif /* _DOLCESDK_PSP2_GXM_SYNC_OBJECT_INTERNAL_H_ */
|