Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Side by Side Diff: mojo/public/platform/native/mgl_signal_sync_point_thunks.h

Issue 1320833003: Expose SignalSyncPoint through MGL api (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef MOJO_PUBLIC_PLATFORM_NATIVE_MGL_SIGNAL_SYNC_POINT_THUNKS_H_
6 #define MOJO_PUBLIC_PLATFORM_NATIVE_MGL_SIGNAL_SYNC_POINT_THUNKS_H_
7
8 #include <stddef.h>
9
10 #include "mojo/public/c/gpu/MGL/mgl_signal_sync_point.h"
11
12 // Structure used to bind the MGL signal sync point interface DSO to those
13 // of the embedder.
14 //
15 // This is the ABI between the embedder and the DSO. It can only have new
16 // functions added to the end. No other changes are supported.
17 #pragma pack(push, 8)
18 struct MGLSignalSyncPointThunks {
19 size_t size; // Should be set to sizeof(MGLSignalSyncPointThunks).
20
21 void (*MGLSignalSyncPoint)(uint32_t sync_point,
22 MGLSignalSyncPointCallback callback,
23 void* lost_callback_closure);
24 };
25 #pragma pack(pop)
26
27 #ifdef __cplusplus
28 // Intended to be called from the embedder. Returns an object initialized to
29 // contain pointers to each of the embedder's MGLSignalSyncPointThunks
30 // functions.
31 inline struct MGLSignalSyncPointThunks MojoMakeMGLSignalSyncPointThunks() {
32 struct MGLSignalSyncPointThunks mgl_thunks = {
33 sizeof(struct MGLSignalSyncPointThunks), MGLSignalSyncPoint,
34 };
35
36 return mgl_thunks;
37 }
38 #endif // __cplusplus
39
40 // Use this type for the function found by dynamically discovering it in
41 // a DSO linked with mojo_system. For example:
42 // MojoSetMGLSignalSyncPointThunksFn mojo_set_gles2_thunks_fn =
43 // reinterpret_cast<MojoSetMGLSignalSyncPointThunksFn>(
44 // app_library.GetFunctionPointer("MojoSetMGLSignalSyncPointThunks"));
45 // The expected size of |mgl_thunks| is returned.
46 // The contents of |mgl_thunks| are copied.
47 typedef size_t (*MojoSetMGLSignalSyncPointThunksFn)(
48 const struct MGLSignalSyncPointThunks* mgl_signal_sync_point_thunks);
49
50 #endif // MOJO_PUBLIC_PLATFORM_NATIVE_MGL_THUNKS_H_
viettrungluu 2015/08/28 20:20:34 update the comment
OLDNEW
« no previous file with comments | « mojo/public/platform/native/BUILD.gn ('k') | mojo/public/platform/native/mgl_signal_sync_point_thunks.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698