1// Generated Code - DO NOT EDIT !!
2// generated by 'emugen'
3#include <stdio.h>
4#include <stdlib.h>
5#include "renderControl_client_context.h"
6
7extern "C" {
8	GLint rcGetRendererVersion();
9	EGLint rcGetEGLVersion(EGLint* major, EGLint* minor);
10	EGLint rcQueryEGLString(EGLenum name, void* buffer, EGLint bufferSize);
11	EGLint rcGetGLString(EGLenum name, void* buffer, EGLint bufferSize);
12	EGLint rcGetNumConfigs(uint32_t* numAttribs);
13	EGLint rcGetConfigs(uint32_t bufSize, GLuint* buffer);
14	EGLint rcChooseConfig(EGLint* attribs, uint32_t attribs_size, uint32_t* configs, uint32_t configs_size);
15	EGLint rcGetFBParam(EGLint param);
16	uint32_t rcCreateContext(uint32_t config, uint32_t share, uint32_t glVersion);
17	void rcDestroyContext(uint32_t context);
18	uint32_t rcCreateWindowSurface(uint32_t config, uint32_t width, uint32_t height);
19	void rcDestroyWindowSurface(uint32_t windowSurface);
20	uint32_t rcCreateColorBuffer(uint32_t width, uint32_t height, GLenum internalFormat);
21	void rcOpenColorBuffer(uint32_t colorbuffer);
22	void rcCloseColorBuffer(uint32_t colorbuffer);
23	void rcSetWindowColorBuffer(uint32_t windowSurface, uint32_t colorBuffer);
24	int rcFlushWindowColorBuffer(uint32_t windowSurface);
25	EGLint rcMakeCurrent(uint32_t context, uint32_t drawSurf, uint32_t readSurf);
26	void rcFBPost(uint32_t colorBuffer);
27	void rcFBSetSwapInterval(EGLint interval);
28	void rcBindTexture(uint32_t colorBuffer);
29	void rcBindRenderbuffer(uint32_t colorBuffer);
30	EGLint rcColorBufferCacheFlush(uint32_t colorbuffer, EGLint postCount, int forRead);
31	void rcReadColorBuffer(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels);
32	int rcUpdateColorBuffer(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels);
33	int rcOpenColorBuffer2(uint32_t colorbuffer);
34	uint32_t rcCreateClientImage(uint32_t context, EGLenum target, GLuint buffer);
35	int rcDestroyClientImage(uint32_t image);
36	void rcSelectChecksumHelper(uint32_t newProtocol, uint32_t reserved);
37	void rcCreateSyncKHR(EGLenum type, EGLint* attribs, uint32_t num_attribs, int destroy_when_signaled, uint64_t* glsync_out, uint64_t* syncthread_out);
38	EGLint rcClientWaitSyncKHR(uint64_t sync, EGLint flags, uint64_t timeout);
39	void rcFlushWindowColorBufferAsync(uint32_t windowSurface);
40	int rcDestroySyncKHR(uint64_t sync);
41	void rcSetPuid(uint64_t puid);
42	int rcUpdateColorBufferDMA(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size);
43	uint32_t rcCreateColorBufferDMA(uint32_t width, uint32_t height, GLenum internalFormat, int frameworkFormat);
44};
45
46#ifndef GET_CONTEXT
47static renderControl_client_context_t::CONTEXT_ACCESSOR_TYPE *getCurrentContext = NULL;
48void renderControl_client_context_t::setContextAccessor(CONTEXT_ACCESSOR_TYPE *f) { getCurrentContext = f; }
49#define GET_CONTEXT renderControl_client_context_t * ctx = getCurrentContext()
50#endif
51
52GLint rcGetRendererVersion()
53{
54	GET_CONTEXT;
55	return ctx->rcGetRendererVersion(ctx);
56}
57
58EGLint rcGetEGLVersion(EGLint* major, EGLint* minor)
59{
60	GET_CONTEXT;
61	return ctx->rcGetEGLVersion(ctx, major, minor);
62}
63
64EGLint rcQueryEGLString(EGLenum name, void* buffer, EGLint bufferSize)
65{
66	GET_CONTEXT;
67	return ctx->rcQueryEGLString(ctx, name, buffer, bufferSize);
68}
69
70EGLint rcGetGLString(EGLenum name, void* buffer, EGLint bufferSize)
71{
72	GET_CONTEXT;
73	return ctx->rcGetGLString(ctx, name, buffer, bufferSize);
74}
75
76EGLint rcGetNumConfigs(uint32_t* numAttribs)
77{
78	GET_CONTEXT;
79	return ctx->rcGetNumConfigs(ctx, numAttribs);
80}
81
82EGLint rcGetConfigs(uint32_t bufSize, GLuint* buffer)
83{
84	GET_CONTEXT;
85	return ctx->rcGetConfigs(ctx, bufSize, buffer);
86}
87
88EGLint rcChooseConfig(EGLint* attribs, uint32_t attribs_size, uint32_t* configs, uint32_t configs_size)
89{
90	GET_CONTEXT;
91	return ctx->rcChooseConfig(ctx, attribs, attribs_size, configs, configs_size);
92}
93
94EGLint rcGetFBParam(EGLint param)
95{
96	GET_CONTEXT;
97	return ctx->rcGetFBParam(ctx, param);
98}
99
100uint32_t rcCreateContext(uint32_t config, uint32_t share, uint32_t glVersion)
101{
102	GET_CONTEXT;
103	return ctx->rcCreateContext(ctx, config, share, glVersion);
104}
105
106void rcDestroyContext(uint32_t context)
107{
108	GET_CONTEXT;
109	ctx->rcDestroyContext(ctx, context);
110}
111
112uint32_t rcCreateWindowSurface(uint32_t config, uint32_t width, uint32_t height)
113{
114	GET_CONTEXT;
115	return ctx->rcCreateWindowSurface(ctx, config, width, height);
116}
117
118void rcDestroyWindowSurface(uint32_t windowSurface)
119{
120	GET_CONTEXT;
121	ctx->rcDestroyWindowSurface(ctx, windowSurface);
122}
123
124uint32_t rcCreateColorBuffer(uint32_t width, uint32_t height, GLenum internalFormat)
125{
126	GET_CONTEXT;
127	return ctx->rcCreateColorBuffer(ctx, width, height, internalFormat);
128}
129
130void rcOpenColorBuffer(uint32_t colorbuffer)
131{
132	GET_CONTEXT;
133	ctx->rcOpenColorBuffer(ctx, colorbuffer);
134}
135
136void rcCloseColorBuffer(uint32_t colorbuffer)
137{
138	GET_CONTEXT;
139	ctx->rcCloseColorBuffer(ctx, colorbuffer);
140}
141
142void rcSetWindowColorBuffer(uint32_t windowSurface, uint32_t colorBuffer)
143{
144	GET_CONTEXT;
145	ctx->rcSetWindowColorBuffer(ctx, windowSurface, colorBuffer);
146}
147
148int rcFlushWindowColorBuffer(uint32_t windowSurface)
149{
150	GET_CONTEXT;
151	return ctx->rcFlushWindowColorBuffer(ctx, windowSurface);
152}
153
154EGLint rcMakeCurrent(uint32_t context, uint32_t drawSurf, uint32_t readSurf)
155{
156	GET_CONTEXT;
157	return ctx->rcMakeCurrent(ctx, context, drawSurf, readSurf);
158}
159
160void rcFBPost(uint32_t colorBuffer)
161{
162	GET_CONTEXT;
163	ctx->rcFBPost(ctx, colorBuffer);
164}
165
166void rcFBSetSwapInterval(EGLint interval)
167{
168	GET_CONTEXT;
169	ctx->rcFBSetSwapInterval(ctx, interval);
170}
171
172void rcBindTexture(uint32_t colorBuffer)
173{
174	GET_CONTEXT;
175	ctx->rcBindTexture(ctx, colorBuffer);
176}
177
178void rcBindRenderbuffer(uint32_t colorBuffer)
179{
180	GET_CONTEXT;
181	ctx->rcBindRenderbuffer(ctx, colorBuffer);
182}
183
184EGLint rcColorBufferCacheFlush(uint32_t colorbuffer, EGLint postCount, int forRead)
185{
186	GET_CONTEXT;
187	return ctx->rcColorBufferCacheFlush(ctx, colorbuffer, postCount, forRead);
188}
189
190void rcReadColorBuffer(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels)
191{
192	GET_CONTEXT;
193	ctx->rcReadColorBuffer(ctx, colorbuffer, x, y, width, height, format, type, pixels);
194}
195
196int rcUpdateColorBuffer(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels)
197{
198	GET_CONTEXT;
199	return ctx->rcUpdateColorBuffer(ctx, colorbuffer, x, y, width, height, format, type, pixels);
200}
201
202int rcOpenColorBuffer2(uint32_t colorbuffer)
203{
204	GET_CONTEXT;
205	return ctx->rcOpenColorBuffer2(ctx, colorbuffer);
206}
207
208uint32_t rcCreateClientImage(uint32_t context, EGLenum target, GLuint buffer)
209{
210	GET_CONTEXT;
211	return ctx->rcCreateClientImage(ctx, context, target, buffer);
212}
213
214int rcDestroyClientImage(uint32_t image)
215{
216	GET_CONTEXT;
217	return ctx->rcDestroyClientImage(ctx, image);
218}
219
220void rcSelectChecksumHelper(uint32_t newProtocol, uint32_t reserved)
221{
222	GET_CONTEXT;
223	ctx->rcSelectChecksumHelper(ctx, newProtocol, reserved);
224}
225
226void rcCreateSyncKHR(EGLenum type, EGLint* attribs, uint32_t num_attribs, int destroy_when_signaled, uint64_t* glsync_out, uint64_t* syncthread_out)
227{
228	GET_CONTEXT;
229	ctx->rcCreateSyncKHR(ctx, type, attribs, num_attribs, destroy_when_signaled, glsync_out, syncthread_out);
230}
231
232EGLint rcClientWaitSyncKHR(uint64_t sync, EGLint flags, uint64_t timeout)
233{
234	GET_CONTEXT;
235	return ctx->rcClientWaitSyncKHR(ctx, sync, flags, timeout);
236}
237
238void rcFlushWindowColorBufferAsync(uint32_t windowSurface)
239{
240	GET_CONTEXT;
241	ctx->rcFlushWindowColorBufferAsync(ctx, windowSurface);
242}
243
244int rcDestroySyncKHR(uint64_t sync)
245{
246	GET_CONTEXT;
247	return ctx->rcDestroySyncKHR(ctx, sync);
248}
249
250void rcSetPuid(uint64_t puid)
251{
252	GET_CONTEXT;
253	ctx->rcSetPuid(ctx, puid);
254}
255
256int rcUpdateColorBufferDMA(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size)
257{
258	GET_CONTEXT;
259	return ctx->rcUpdateColorBufferDMA(ctx, colorbuffer, x, y, width, height, format, type, pixels, pixels_size);
260}
261
262uint32_t rcCreateColorBufferDMA(uint32_t width, uint32_t height, GLenum internalFormat, int frameworkFormat)
263{
264	GET_CONTEXT;
265	return ctx->rcCreateColorBufferDMA(ctx, width, height, internalFormat, frameworkFormat);
266}
267
268