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
7 extern "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 void rcWaitSyncKHR(uint64_t sync, EGLint flags);
45 GLint rcCompose(uint32_t bufferSize, void* buffer);
46 int rcCreateDisplay(uint32_t* displayId);
47 int rcDestroyDisplay(uint32_t displayId);
48 int rcSetDisplayColorBuffer(uint32_t displayId, uint32_t colorBuffer);
49 int rcGetDisplayColorBuffer(uint32_t displayId, uint32_t* colorBuffer);
50 int rcGetColorBufferDisplay(uint32_t colorBuffer, uint32_t* displayId);
51 int rcGetDisplayPose(uint32_t displayId, GLint* x, GLint* y, uint32_t* w, uint32_t* h);
52 int rcSetDisplayPose(uint32_t displayId, GLint x, GLint y, uint32_t w, uint32_t h);
53 GLint rcSetColorBufferVulkanMode(uint32_t colorBuffer, uint32_t mode);
54 void rcReadColorBufferYUV(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, void* pixels, uint32_t pixels_size);
55 int rcIsSyncSignaled(uint64_t sync);
56 void rcCreateColorBufferWithHandle(uint32_t width, uint32_t height, GLenum internalFormat, uint32_t handle);
57 uint32_t rcCreateBuffer(uint32_t size);
58 void rcCloseBuffer(uint32_t buffer);
59 GLint rcSetColorBufferVulkanMode2(uint32_t colorBuffer, uint32_t mode, uint32_t memoryProperty);
60 int rcMapGpaToBufferHandle(uint32_t bufferHandle, uint64_t gpa);
61 uint32_t rcCreateBuffer2(uint64_t size, uint32_t memoryProperty);
62 int rcMapGpaToBufferHandle2(uint32_t bufferHandle, uint64_t gpa, uint64_t size);
63 void rcFlushWindowColorBufferAsyncWithFrameNumber(uint32_t windowSurface, uint32_t frameNumber);
64 void rcSetTracingForPuid(uint64_t puid, uint32_t enable, uint64_t guestTime);
65 void rcMakeCurrentAsync(uint32_t context, uint32_t drawSurf, uint32_t readSurf);
66 void rcComposeAsync(uint32_t bufferSize, void* buffer);
67 void rcDestroySyncKHRAsync(uint64_t sync);
68 GLint rcComposeWithoutPost(uint32_t bufferSize, void* buffer);
69 void rcComposeAsyncWithoutPost(uint32_t bufferSize, void* buffer);
70 int rcCreateDisplayById(uint32_t displayId);
71 int rcSetDisplayPoseDpi(uint32_t displayId, GLint x, GLint y, uint32_t w, uint32_t h, uint32_t dpi);
72 int rcReadColorBufferDMA(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size);
73 };
74
75 #ifndef GET_CONTEXT
76 static renderControl_client_context_t::CONTEXT_ACCESSOR_TYPE *getCurrentContext = NULL;
setContextAccessor(CONTEXT_ACCESSOR_TYPE * f)77 void renderControl_client_context_t::setContextAccessor(CONTEXT_ACCESSOR_TYPE *f) { getCurrentContext = f; }
78 #define GET_CONTEXT renderControl_client_context_t * ctx = getCurrentContext()
79 #endif
80
rcGetRendererVersion()81 GLint rcGetRendererVersion()
82 {
83 GET_CONTEXT;
84 return ctx->rcGetRendererVersion(ctx);
85 }
86
rcGetEGLVersion(EGLint * major,EGLint * minor)87 EGLint rcGetEGLVersion(EGLint* major, EGLint* minor)
88 {
89 GET_CONTEXT;
90 return ctx->rcGetEGLVersion(ctx, major, minor);
91 }
92
rcQueryEGLString(EGLenum name,void * buffer,EGLint bufferSize)93 EGLint rcQueryEGLString(EGLenum name, void* buffer, EGLint bufferSize)
94 {
95 GET_CONTEXT;
96 return ctx->rcQueryEGLString(ctx, name, buffer, bufferSize);
97 }
98
rcGetGLString(EGLenum name,void * buffer,EGLint bufferSize)99 EGLint rcGetGLString(EGLenum name, void* buffer, EGLint bufferSize)
100 {
101 GET_CONTEXT;
102 return ctx->rcGetGLString(ctx, name, buffer, bufferSize);
103 }
104
rcGetNumConfigs(uint32_t * numAttribs)105 EGLint rcGetNumConfigs(uint32_t* numAttribs)
106 {
107 GET_CONTEXT;
108 return ctx->rcGetNumConfigs(ctx, numAttribs);
109 }
110
rcGetConfigs(uint32_t bufSize,GLuint * buffer)111 EGLint rcGetConfigs(uint32_t bufSize, GLuint* buffer)
112 {
113 GET_CONTEXT;
114 return ctx->rcGetConfigs(ctx, bufSize, buffer);
115 }
116
rcChooseConfig(EGLint * attribs,uint32_t attribs_size,uint32_t * configs,uint32_t configs_size)117 EGLint rcChooseConfig(EGLint* attribs, uint32_t attribs_size, uint32_t* configs, uint32_t configs_size)
118 {
119 GET_CONTEXT;
120 return ctx->rcChooseConfig(ctx, attribs, attribs_size, configs, configs_size);
121 }
122
rcGetFBParam(EGLint param)123 EGLint rcGetFBParam(EGLint param)
124 {
125 GET_CONTEXT;
126 return ctx->rcGetFBParam(ctx, param);
127 }
128
rcCreateContext(uint32_t config,uint32_t share,uint32_t glVersion)129 uint32_t rcCreateContext(uint32_t config, uint32_t share, uint32_t glVersion)
130 {
131 GET_CONTEXT;
132 return ctx->rcCreateContext(ctx, config, share, glVersion);
133 }
134
rcDestroyContext(uint32_t context)135 void rcDestroyContext(uint32_t context)
136 {
137 GET_CONTEXT;
138 ctx->rcDestroyContext(ctx, context);
139 }
140
rcCreateWindowSurface(uint32_t config,uint32_t width,uint32_t height)141 uint32_t rcCreateWindowSurface(uint32_t config, uint32_t width, uint32_t height)
142 {
143 GET_CONTEXT;
144 return ctx->rcCreateWindowSurface(ctx, config, width, height);
145 }
146
rcDestroyWindowSurface(uint32_t windowSurface)147 void rcDestroyWindowSurface(uint32_t windowSurface)
148 {
149 GET_CONTEXT;
150 ctx->rcDestroyWindowSurface(ctx, windowSurface);
151 }
152
rcCreateColorBuffer(uint32_t width,uint32_t height,GLenum internalFormat)153 uint32_t rcCreateColorBuffer(uint32_t width, uint32_t height, GLenum internalFormat)
154 {
155 GET_CONTEXT;
156 return ctx->rcCreateColorBuffer(ctx, width, height, internalFormat);
157 }
158
rcOpenColorBuffer(uint32_t colorbuffer)159 void rcOpenColorBuffer(uint32_t colorbuffer)
160 {
161 GET_CONTEXT;
162 ctx->rcOpenColorBuffer(ctx, colorbuffer);
163 }
164
rcCloseColorBuffer(uint32_t colorbuffer)165 void rcCloseColorBuffer(uint32_t colorbuffer)
166 {
167 GET_CONTEXT;
168 ctx->rcCloseColorBuffer(ctx, colorbuffer);
169 }
170
rcSetWindowColorBuffer(uint32_t windowSurface,uint32_t colorBuffer)171 void rcSetWindowColorBuffer(uint32_t windowSurface, uint32_t colorBuffer)
172 {
173 GET_CONTEXT;
174 ctx->rcSetWindowColorBuffer(ctx, windowSurface, colorBuffer);
175 }
176
rcFlushWindowColorBuffer(uint32_t windowSurface)177 int rcFlushWindowColorBuffer(uint32_t windowSurface)
178 {
179 GET_CONTEXT;
180 return ctx->rcFlushWindowColorBuffer(ctx, windowSurface);
181 }
182
rcMakeCurrent(uint32_t context,uint32_t drawSurf,uint32_t readSurf)183 EGLint rcMakeCurrent(uint32_t context, uint32_t drawSurf, uint32_t readSurf)
184 {
185 GET_CONTEXT;
186 return ctx->rcMakeCurrent(ctx, context, drawSurf, readSurf);
187 }
188
rcFBPost(uint32_t colorBuffer)189 void rcFBPost(uint32_t colorBuffer)
190 {
191 GET_CONTEXT;
192 ctx->rcFBPost(ctx, colorBuffer);
193 }
194
rcFBSetSwapInterval(EGLint interval)195 void rcFBSetSwapInterval(EGLint interval)
196 {
197 GET_CONTEXT;
198 ctx->rcFBSetSwapInterval(ctx, interval);
199 }
200
rcBindTexture(uint32_t colorBuffer)201 void rcBindTexture(uint32_t colorBuffer)
202 {
203 GET_CONTEXT;
204 ctx->rcBindTexture(ctx, colorBuffer);
205 }
206
rcBindRenderbuffer(uint32_t colorBuffer)207 void rcBindRenderbuffer(uint32_t colorBuffer)
208 {
209 GET_CONTEXT;
210 ctx->rcBindRenderbuffer(ctx, colorBuffer);
211 }
212
rcColorBufferCacheFlush(uint32_t colorbuffer,EGLint postCount,int forRead)213 EGLint rcColorBufferCacheFlush(uint32_t colorbuffer, EGLint postCount, int forRead)
214 {
215 GET_CONTEXT;
216 return ctx->rcColorBufferCacheFlush(ctx, colorbuffer, postCount, forRead);
217 }
218
rcReadColorBuffer(uint32_t colorbuffer,GLint x,GLint y,GLint width,GLint height,GLenum format,GLenum type,void * pixels)219 void rcReadColorBuffer(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels)
220 {
221 GET_CONTEXT;
222 ctx->rcReadColorBuffer(ctx, colorbuffer, x, y, width, height, format, type, pixels);
223 }
224
rcUpdateColorBuffer(uint32_t colorbuffer,GLint x,GLint y,GLint width,GLint height,GLenum format,GLenum type,void * pixels)225 int rcUpdateColorBuffer(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels)
226 {
227 GET_CONTEXT;
228 return ctx->rcUpdateColorBuffer(ctx, colorbuffer, x, y, width, height, format, type, pixels);
229 }
230
rcOpenColorBuffer2(uint32_t colorbuffer)231 int rcOpenColorBuffer2(uint32_t colorbuffer)
232 {
233 GET_CONTEXT;
234 return ctx->rcOpenColorBuffer2(ctx, colorbuffer);
235 }
236
rcCreateClientImage(uint32_t context,EGLenum target,GLuint buffer)237 uint32_t rcCreateClientImage(uint32_t context, EGLenum target, GLuint buffer)
238 {
239 GET_CONTEXT;
240 return ctx->rcCreateClientImage(ctx, context, target, buffer);
241 }
242
rcDestroyClientImage(uint32_t image)243 int rcDestroyClientImage(uint32_t image)
244 {
245 GET_CONTEXT;
246 return ctx->rcDestroyClientImage(ctx, image);
247 }
248
rcSelectChecksumHelper(uint32_t newProtocol,uint32_t reserved)249 void rcSelectChecksumHelper(uint32_t newProtocol, uint32_t reserved)
250 {
251 GET_CONTEXT;
252 ctx->rcSelectChecksumHelper(ctx, newProtocol, reserved);
253 }
254
rcCreateSyncKHR(EGLenum type,EGLint * attribs,uint32_t num_attribs,int destroy_when_signaled,uint64_t * glsync_out,uint64_t * syncthread_out)255 void rcCreateSyncKHR(EGLenum type, EGLint* attribs, uint32_t num_attribs, int destroy_when_signaled, uint64_t* glsync_out, uint64_t* syncthread_out)
256 {
257 GET_CONTEXT;
258 ctx->rcCreateSyncKHR(ctx, type, attribs, num_attribs, destroy_when_signaled, glsync_out, syncthread_out);
259 }
260
rcClientWaitSyncKHR(uint64_t sync,EGLint flags,uint64_t timeout)261 EGLint rcClientWaitSyncKHR(uint64_t sync, EGLint flags, uint64_t timeout)
262 {
263 GET_CONTEXT;
264 return ctx->rcClientWaitSyncKHR(ctx, sync, flags, timeout);
265 }
266
rcFlushWindowColorBufferAsync(uint32_t windowSurface)267 void rcFlushWindowColorBufferAsync(uint32_t windowSurface)
268 {
269 GET_CONTEXT;
270 ctx->rcFlushWindowColorBufferAsync(ctx, windowSurface);
271 }
272
rcDestroySyncKHR(uint64_t sync)273 int rcDestroySyncKHR(uint64_t sync)
274 {
275 GET_CONTEXT;
276 return ctx->rcDestroySyncKHR(ctx, sync);
277 }
278
rcSetPuid(uint64_t puid)279 void rcSetPuid(uint64_t puid)
280 {
281 GET_CONTEXT;
282 ctx->rcSetPuid(ctx, puid);
283 }
284
rcUpdateColorBufferDMA(uint32_t colorbuffer,GLint x,GLint y,GLint width,GLint height,GLenum format,GLenum type,void * pixels,uint32_t pixels_size)285 int rcUpdateColorBufferDMA(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size)
286 {
287 GET_CONTEXT;
288 return ctx->rcUpdateColorBufferDMA(ctx, colorbuffer, x, y, width, height, format, type, pixels, pixels_size);
289 }
290
rcCreateColorBufferDMA(uint32_t width,uint32_t height,GLenum internalFormat,int frameworkFormat)291 uint32_t rcCreateColorBufferDMA(uint32_t width, uint32_t height, GLenum internalFormat, int frameworkFormat)
292 {
293 GET_CONTEXT;
294 return ctx->rcCreateColorBufferDMA(ctx, width, height, internalFormat, frameworkFormat);
295 }
296
rcWaitSyncKHR(uint64_t sync,EGLint flags)297 void rcWaitSyncKHR(uint64_t sync, EGLint flags)
298 {
299 GET_CONTEXT;
300 ctx->rcWaitSyncKHR(ctx, sync, flags);
301 }
302
rcCompose(uint32_t bufferSize,void * buffer)303 GLint rcCompose(uint32_t bufferSize, void* buffer)
304 {
305 GET_CONTEXT;
306 return ctx->rcCompose(ctx, bufferSize, buffer);
307 }
308
rcCreateDisplay(uint32_t * displayId)309 int rcCreateDisplay(uint32_t* displayId)
310 {
311 GET_CONTEXT;
312 return ctx->rcCreateDisplay(ctx, displayId);
313 }
314
rcDestroyDisplay(uint32_t displayId)315 int rcDestroyDisplay(uint32_t displayId)
316 {
317 GET_CONTEXT;
318 return ctx->rcDestroyDisplay(ctx, displayId);
319 }
320
rcSetDisplayColorBuffer(uint32_t displayId,uint32_t colorBuffer)321 int rcSetDisplayColorBuffer(uint32_t displayId, uint32_t colorBuffer)
322 {
323 GET_CONTEXT;
324 return ctx->rcSetDisplayColorBuffer(ctx, displayId, colorBuffer);
325 }
326
rcGetDisplayColorBuffer(uint32_t displayId,uint32_t * colorBuffer)327 int rcGetDisplayColorBuffer(uint32_t displayId, uint32_t* colorBuffer)
328 {
329 GET_CONTEXT;
330 return ctx->rcGetDisplayColorBuffer(ctx, displayId, colorBuffer);
331 }
332
rcGetColorBufferDisplay(uint32_t colorBuffer,uint32_t * displayId)333 int rcGetColorBufferDisplay(uint32_t colorBuffer, uint32_t* displayId)
334 {
335 GET_CONTEXT;
336 return ctx->rcGetColorBufferDisplay(ctx, colorBuffer, displayId);
337 }
338
rcGetDisplayPose(uint32_t displayId,GLint * x,GLint * y,uint32_t * w,uint32_t * h)339 int rcGetDisplayPose(uint32_t displayId, GLint* x, GLint* y, uint32_t* w, uint32_t* h)
340 {
341 GET_CONTEXT;
342 return ctx->rcGetDisplayPose(ctx, displayId, x, y, w, h);
343 }
344
rcSetDisplayPose(uint32_t displayId,GLint x,GLint y,uint32_t w,uint32_t h)345 int rcSetDisplayPose(uint32_t displayId, GLint x, GLint y, uint32_t w, uint32_t h)
346 {
347 GET_CONTEXT;
348 return ctx->rcSetDisplayPose(ctx, displayId, x, y, w, h);
349 }
350
rcSetColorBufferVulkanMode(uint32_t colorBuffer,uint32_t mode)351 GLint rcSetColorBufferVulkanMode(uint32_t colorBuffer, uint32_t mode)
352 {
353 GET_CONTEXT;
354 return ctx->rcSetColorBufferVulkanMode(ctx, colorBuffer, mode);
355 }
356
rcReadColorBufferYUV(uint32_t colorbuffer,GLint x,GLint y,GLint width,GLint height,void * pixels,uint32_t pixels_size)357 void rcReadColorBufferYUV(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, void* pixels, uint32_t pixels_size)
358 {
359 GET_CONTEXT;
360 ctx->rcReadColorBufferYUV(ctx, colorbuffer, x, y, width, height, pixels, pixels_size);
361 }
362
rcIsSyncSignaled(uint64_t sync)363 int rcIsSyncSignaled(uint64_t sync)
364 {
365 GET_CONTEXT;
366 return ctx->rcIsSyncSignaled(ctx, sync);
367 }
368
rcCreateColorBufferWithHandle(uint32_t width,uint32_t height,GLenum internalFormat,uint32_t handle)369 void rcCreateColorBufferWithHandle(uint32_t width, uint32_t height, GLenum internalFormat, uint32_t handle)
370 {
371 GET_CONTEXT;
372 ctx->rcCreateColorBufferWithHandle(ctx, width, height, internalFormat, handle);
373 }
374
rcCreateBuffer(uint32_t size)375 uint32_t rcCreateBuffer(uint32_t size)
376 {
377 GET_CONTEXT;
378 return ctx->rcCreateBuffer(ctx, size);
379 }
380
rcCloseBuffer(uint32_t buffer)381 void rcCloseBuffer(uint32_t buffer)
382 {
383 GET_CONTEXT;
384 ctx->rcCloseBuffer(ctx, buffer);
385 }
386
rcSetColorBufferVulkanMode2(uint32_t colorBuffer,uint32_t mode,uint32_t memoryProperty)387 GLint rcSetColorBufferVulkanMode2(uint32_t colorBuffer, uint32_t mode, uint32_t memoryProperty)
388 {
389 GET_CONTEXT;
390 return ctx->rcSetColorBufferVulkanMode2(ctx, colorBuffer, mode, memoryProperty);
391 }
392
rcMapGpaToBufferHandle(uint32_t bufferHandle,uint64_t gpa)393 int rcMapGpaToBufferHandle(uint32_t bufferHandle, uint64_t gpa)
394 {
395 GET_CONTEXT;
396 return ctx->rcMapGpaToBufferHandle(ctx, bufferHandle, gpa);
397 }
398
rcCreateBuffer2(uint64_t size,uint32_t memoryProperty)399 uint32_t rcCreateBuffer2(uint64_t size, uint32_t memoryProperty)
400 {
401 GET_CONTEXT;
402 return ctx->rcCreateBuffer2(ctx, size, memoryProperty);
403 }
404
rcMapGpaToBufferHandle2(uint32_t bufferHandle,uint64_t gpa,uint64_t size)405 int rcMapGpaToBufferHandle2(uint32_t bufferHandle, uint64_t gpa, uint64_t size)
406 {
407 GET_CONTEXT;
408 return ctx->rcMapGpaToBufferHandle2(ctx, bufferHandle, gpa, size);
409 }
410
rcFlushWindowColorBufferAsyncWithFrameNumber(uint32_t windowSurface,uint32_t frameNumber)411 void rcFlushWindowColorBufferAsyncWithFrameNumber(uint32_t windowSurface, uint32_t frameNumber)
412 {
413 GET_CONTEXT;
414 ctx->rcFlushWindowColorBufferAsyncWithFrameNumber(ctx, windowSurface, frameNumber);
415 }
416
rcSetTracingForPuid(uint64_t puid,uint32_t enable,uint64_t guestTime)417 void rcSetTracingForPuid(uint64_t puid, uint32_t enable, uint64_t guestTime)
418 {
419 GET_CONTEXT;
420 ctx->rcSetTracingForPuid(ctx, puid, enable, guestTime);
421 }
422
rcMakeCurrentAsync(uint32_t context,uint32_t drawSurf,uint32_t readSurf)423 void rcMakeCurrentAsync(uint32_t context, uint32_t drawSurf, uint32_t readSurf)
424 {
425 GET_CONTEXT;
426 ctx->rcMakeCurrentAsync(ctx, context, drawSurf, readSurf);
427 }
428
rcComposeAsync(uint32_t bufferSize,void * buffer)429 void rcComposeAsync(uint32_t bufferSize, void* buffer)
430 {
431 GET_CONTEXT;
432 ctx->rcComposeAsync(ctx, bufferSize, buffer);
433 }
434
rcDestroySyncKHRAsync(uint64_t sync)435 void rcDestroySyncKHRAsync(uint64_t sync)
436 {
437 GET_CONTEXT;
438 ctx->rcDestroySyncKHRAsync(ctx, sync);
439 }
440
rcComposeWithoutPost(uint32_t bufferSize,void * buffer)441 GLint rcComposeWithoutPost(uint32_t bufferSize, void* buffer)
442 {
443 GET_CONTEXT;
444 return ctx->rcComposeWithoutPost(ctx, bufferSize, buffer);
445 }
446
rcComposeAsyncWithoutPost(uint32_t bufferSize,void * buffer)447 void rcComposeAsyncWithoutPost(uint32_t bufferSize, void* buffer)
448 {
449 GET_CONTEXT;
450 ctx->rcComposeAsyncWithoutPost(ctx, bufferSize, buffer);
451 }
452
rcCreateDisplayById(uint32_t displayId)453 int rcCreateDisplayById(uint32_t displayId)
454 {
455 GET_CONTEXT;
456 return ctx->rcCreateDisplayById(ctx, displayId);
457 }
458
rcSetDisplayPoseDpi(uint32_t displayId,GLint x,GLint y,uint32_t w,uint32_t h,uint32_t dpi)459 int rcSetDisplayPoseDpi(uint32_t displayId, GLint x, GLint y, uint32_t w, uint32_t h, uint32_t dpi)
460 {
461 GET_CONTEXT;
462 return ctx->rcSetDisplayPoseDpi(ctx, displayId, x, y, w, h, dpi);
463 }
464
rcReadColorBufferDMA(uint32_t colorbuffer,GLint x,GLint y,GLint width,GLint height,GLenum format,GLenum type,void * pixels,uint32_t pixels_size)465 int rcReadColorBufferDMA(uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size)
466 {
467 GET_CONTEXT;
468 return ctx->rcReadColorBufferDMA(ctx, colorbuffer, x, y, width, height, format, type, pixels, pixels_size);
469 }
470
471