156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall/* 256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* Copyright (C) 2011 The Android Open Source Project 356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* 456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* Licensed under the Apache License, Version 2.0 (the "License"); 556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* you may not use this file except in compliance with the License. 656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* You may obtain a copy of the License at 756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* 856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* http://www.apache.org/licenses/LICENSE-2.0 956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* 1056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* Unless required by applicable law or agreed to in writing, software 1156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* distributed under the License is distributed on an "AS IS" BASIS, 1256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* See the License for the specific language governing permissions and 1456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall* limitations under the License. 1556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall*/ 1656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall#ifndef _EGL_DISPATCH_H 1756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall#define _EGL_DISPATCH_H 1856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall 1956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall#include "egl_proc.h" 2056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall 2156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hallstruct egl_dispatch { 2256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetError_t eglGetError; 2356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetDisplay_t eglGetDisplay; 2456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglInitialize_t eglInitialize; 2556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglTerminate_t eglTerminate; 2656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQueryString_t eglQueryString; 2756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetConfigs_t eglGetConfigs; 2856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglChooseConfig_t eglChooseConfig; 2956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetConfigAttrib_t eglGetConfigAttrib; 3056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateWindowSurface_t eglCreateWindowSurface; 3156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreatePbufferSurface_t eglCreatePbufferSurface; 3256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreatePixmapSurface_t eglCreatePixmapSurface; 3356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroySurface_t eglDestroySurface; 3456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQuerySurface_t eglQuerySurface; 3556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglBindAPI_t eglBindAPI; 3656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQueryAPI_t eglQueryAPI; 3756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglWaitClient_t eglWaitClient; 3856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglReleaseThread_t eglReleaseThread; 3956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreatePbufferFromClientBuffer_t eglCreatePbufferFromClientBuffer; 4056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSurfaceAttrib_t eglSurfaceAttrib; 4156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglBindTexImage_t eglBindTexImage; 4256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglReleaseTexImage_t eglReleaseTexImage; 4356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSwapInterval_t eglSwapInterval; 4456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateContext_t eglCreateContext; 4556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroyContext_t eglDestroyContext; 4656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglMakeCurrent_t eglMakeCurrent; 4756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetCurrentContext_t eglGetCurrentContext; 4856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetCurrentSurface_t eglGetCurrentSurface; 4956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetCurrentDisplay_t eglGetCurrentDisplay; 5056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQueryContext_t eglQueryContext; 5156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglWaitGL_t eglWaitGL; 5256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglWaitNative_t eglWaitNative; 5356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSwapBuffers_t eglSwapBuffers; 5456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCopyBuffers_t eglCopyBuffers; 5556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetProcAddress_t eglGetProcAddress; 5656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglLockSurfaceKHR_t eglLockSurfaceKHR; 5756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglUnlockSurfaceKHR_t eglUnlockSurfaceKHR; 5856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateImageKHR_t eglCreateImageKHR; 5956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroyImageKHR_t eglDestroyImageKHR; 6056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateSyncKHR_t eglCreateSyncKHR; 6156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroySyncKHR_t eglDestroySyncKHR; 6256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglClientWaitSyncKHR_t eglClientWaitSyncKHR; 6356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSignalSyncKHR_t eglSignalSyncKHR; 6456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetSyncAttribKHR_t eglGetSyncAttribKHR; 6556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSetSwapRectangleANDROID_t eglSetSwapRectangleANDROID; 6656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall //Accessors 6756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetError_t set_eglGetError(eglGetError_t f) { eglGetError_t retval = eglGetError; eglGetError = f; return retval;} 6856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetDisplay_t set_eglGetDisplay(eglGetDisplay_t f) { eglGetDisplay_t retval = eglGetDisplay; eglGetDisplay = f; return retval;} 6956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglInitialize_t set_eglInitialize(eglInitialize_t f) { eglInitialize_t retval = eglInitialize; eglInitialize = f; return retval;} 7056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglTerminate_t set_eglTerminate(eglTerminate_t f) { eglTerminate_t retval = eglTerminate; eglTerminate = f; return retval;} 7156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQueryString_t set_eglQueryString(eglQueryString_t f) { eglQueryString_t retval = eglQueryString; eglQueryString = f; return retval;} 7256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetConfigs_t set_eglGetConfigs(eglGetConfigs_t f) { eglGetConfigs_t retval = eglGetConfigs; eglGetConfigs = f; return retval;} 7356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglChooseConfig_t set_eglChooseConfig(eglChooseConfig_t f) { eglChooseConfig_t retval = eglChooseConfig; eglChooseConfig = f; return retval;} 7456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetConfigAttrib_t set_eglGetConfigAttrib(eglGetConfigAttrib_t f) { eglGetConfigAttrib_t retval = eglGetConfigAttrib; eglGetConfigAttrib = f; return retval;} 7556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateWindowSurface_t set_eglCreateWindowSurface(eglCreateWindowSurface_t f) { eglCreateWindowSurface_t retval = eglCreateWindowSurface; eglCreateWindowSurface = f; return retval;} 7656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreatePbufferSurface_t set_eglCreatePbufferSurface(eglCreatePbufferSurface_t f) { eglCreatePbufferSurface_t retval = eglCreatePbufferSurface; eglCreatePbufferSurface = f; return retval;} 7756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreatePixmapSurface_t set_eglCreatePixmapSurface(eglCreatePixmapSurface_t f) { eglCreatePixmapSurface_t retval = eglCreatePixmapSurface; eglCreatePixmapSurface = f; return retval;} 7856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroySurface_t set_eglDestroySurface(eglDestroySurface_t f) { eglDestroySurface_t retval = eglDestroySurface; eglDestroySurface = f; return retval;} 7956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQuerySurface_t set_eglQuerySurface(eglQuerySurface_t f) { eglQuerySurface_t retval = eglQuerySurface; eglQuerySurface = f; return retval;} 8056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglBindAPI_t set_eglBindAPI(eglBindAPI_t f) { eglBindAPI_t retval = eglBindAPI; eglBindAPI = f; return retval;} 8156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQueryAPI_t set_eglQueryAPI(eglQueryAPI_t f) { eglQueryAPI_t retval = eglQueryAPI; eglQueryAPI = f; return retval;} 8256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglWaitClient_t set_eglWaitClient(eglWaitClient_t f) { eglWaitClient_t retval = eglWaitClient; eglWaitClient = f; return retval;} 8356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglReleaseThread_t set_eglReleaseThread(eglReleaseThread_t f) { eglReleaseThread_t retval = eglReleaseThread; eglReleaseThread = f; return retval;} 8456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreatePbufferFromClientBuffer_t set_eglCreatePbufferFromClientBuffer(eglCreatePbufferFromClientBuffer_t f) { eglCreatePbufferFromClientBuffer_t retval = eglCreatePbufferFromClientBuffer; eglCreatePbufferFromClientBuffer = f; return retval;} 8556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSurfaceAttrib_t set_eglSurfaceAttrib(eglSurfaceAttrib_t f) { eglSurfaceAttrib_t retval = eglSurfaceAttrib; eglSurfaceAttrib = f; return retval;} 8656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglBindTexImage_t set_eglBindTexImage(eglBindTexImage_t f) { eglBindTexImage_t retval = eglBindTexImage; eglBindTexImage = f; return retval;} 8756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglReleaseTexImage_t set_eglReleaseTexImage(eglReleaseTexImage_t f) { eglReleaseTexImage_t retval = eglReleaseTexImage; eglReleaseTexImage = f; return retval;} 8856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSwapInterval_t set_eglSwapInterval(eglSwapInterval_t f) { eglSwapInterval_t retval = eglSwapInterval; eglSwapInterval = f; return retval;} 8956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateContext_t set_eglCreateContext(eglCreateContext_t f) { eglCreateContext_t retval = eglCreateContext; eglCreateContext = f; return retval;} 9056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroyContext_t set_eglDestroyContext(eglDestroyContext_t f) { eglDestroyContext_t retval = eglDestroyContext; eglDestroyContext = f; return retval;} 9156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglMakeCurrent_t set_eglMakeCurrent(eglMakeCurrent_t f) { eglMakeCurrent_t retval = eglMakeCurrent; eglMakeCurrent = f; return retval;} 9256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetCurrentContext_t set_eglGetCurrentContext(eglGetCurrentContext_t f) { eglGetCurrentContext_t retval = eglGetCurrentContext; eglGetCurrentContext = f; return retval;} 9356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetCurrentSurface_t set_eglGetCurrentSurface(eglGetCurrentSurface_t f) { eglGetCurrentSurface_t retval = eglGetCurrentSurface; eglGetCurrentSurface = f; return retval;} 9456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetCurrentDisplay_t set_eglGetCurrentDisplay(eglGetCurrentDisplay_t f) { eglGetCurrentDisplay_t retval = eglGetCurrentDisplay; eglGetCurrentDisplay = f; return retval;} 9556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglQueryContext_t set_eglQueryContext(eglQueryContext_t f) { eglQueryContext_t retval = eglQueryContext; eglQueryContext = f; return retval;} 9656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglWaitGL_t set_eglWaitGL(eglWaitGL_t f) { eglWaitGL_t retval = eglWaitGL; eglWaitGL = f; return retval;} 9756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglWaitNative_t set_eglWaitNative(eglWaitNative_t f) { eglWaitNative_t retval = eglWaitNative; eglWaitNative = f; return retval;} 9856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSwapBuffers_t set_eglSwapBuffers(eglSwapBuffers_t f) { eglSwapBuffers_t retval = eglSwapBuffers; eglSwapBuffers = f; return retval;} 9956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCopyBuffers_t set_eglCopyBuffers(eglCopyBuffers_t f) { eglCopyBuffers_t retval = eglCopyBuffers; eglCopyBuffers = f; return retval;} 10056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetProcAddress_t set_eglGetProcAddress(eglGetProcAddress_t f) { eglGetProcAddress_t retval = eglGetProcAddress; eglGetProcAddress = f; return retval;} 10156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglLockSurfaceKHR_t set_eglLockSurfaceKHR(eglLockSurfaceKHR_t f) { eglLockSurfaceKHR_t retval = eglLockSurfaceKHR; eglLockSurfaceKHR = f; return retval;} 10256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglUnlockSurfaceKHR_t set_eglUnlockSurfaceKHR(eglUnlockSurfaceKHR_t f) { eglUnlockSurfaceKHR_t retval = eglUnlockSurfaceKHR; eglUnlockSurfaceKHR = f; return retval;} 10356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateImageKHR_t set_eglCreateImageKHR(eglCreateImageKHR_t f) { eglCreateImageKHR_t retval = eglCreateImageKHR; eglCreateImageKHR = f; return retval;} 10456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroyImageKHR_t set_eglDestroyImageKHR(eglDestroyImageKHR_t f) { eglDestroyImageKHR_t retval = eglDestroyImageKHR; eglDestroyImageKHR = f; return retval;} 10556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglCreateSyncKHR_t set_eglCreateSyncKHR(eglCreateSyncKHR_t f) { eglCreateSyncKHR_t retval = eglCreateSyncKHR; eglCreateSyncKHR = f; return retval;} 10656513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglDestroySyncKHR_t set_eglDestroySyncKHR(eglDestroySyncKHR_t f) { eglDestroySyncKHR_t retval = eglDestroySyncKHR; eglDestroySyncKHR = f; return retval;} 10756513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglClientWaitSyncKHR_t set_eglClientWaitSyncKHR(eglClientWaitSyncKHR_t f) { eglClientWaitSyncKHR_t retval = eglClientWaitSyncKHR; eglClientWaitSyncKHR = f; return retval;} 10856513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSignalSyncKHR_t set_eglSignalSyncKHR(eglSignalSyncKHR_t f) { eglSignalSyncKHR_t retval = eglSignalSyncKHR; eglSignalSyncKHR = f; return retval;} 10956513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglGetSyncAttribKHR_t set_eglGetSyncAttribKHR(eglGetSyncAttribKHR_t f) { eglGetSyncAttribKHR_t retval = eglGetSyncAttribKHR; eglGetSyncAttribKHR = f; return retval;} 11056513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall eglSetSwapRectangleANDROID_t set_eglSetSwapRectangleANDROID(eglSetSwapRectangleANDROID_t f) { eglSetSwapRectangleANDROID_t retval = eglSetSwapRectangleANDROID; eglSetSwapRectangleANDROID = f; return retval;} 11156513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall}; 11256513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall 11356513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hallegl_dispatch *create_egl_dispatch(void *gles_andorid); 11456513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall 11556513f5ff4f3e851c5f0cb38dc8851d18616b3c0Jesse Hall#endif 116