diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 8db8df7af2..fae763f109 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -4631,7 +4631,7 @@ if GetTarget() != 'android' and not PkgSkip("EGL") and not PkgSkip("GLES"): # DIRECTORY: panda/src/egldisplay/ # -if not PkgSkip("EGL") and not PkgSkip("GLES2"): +if GetTarget() != 'android' and not PkgSkip("EGL") and not PkgSkip("GLES2"): DefSymbol('GLES2', 'OPENGLES_2', '') OPTS=['DIR:panda/src/egldisplay', 'DIR:panda/src/glstuff', 'BUILDING:PANDAGLES2', 'GLES2', 'EGL', 'X11'] TargetAdd('pandagles2_egldisplay_composite1.obj', opts=OPTS, input='p3egldisplay_composite1.cxx') @@ -4892,6 +4892,20 @@ if GetTarget() == 'android' and not PkgSkip("EGL") and not PkgSkip("GLES"): TargetAdd('libpandagles.dll', input=COMMON_PANDA_LIBS) TargetAdd('libpandagles.dll', opts=['MODULE', 'GLES', 'EGL']) +if GetTarget() == 'android' and not PkgSkip("EGL") and not PkgSkip("GLES2"): + DefSymbol('GLES2', 'OPENGLES_2', '') + OPTS=['DIR:panda/src/androiddisplay', 'DIR:panda/src/glstuff', 'BUILDING:PANDAGLES2', 'GLES2', 'EGL'] + TargetAdd('pandagles2_androiddisplay_composite1.obj', opts=OPTS, input='p3androiddisplay_composite1.cxx') + OPTS=['DIR:panda/metalibs/pandagles2', 'BUILDING:PANDAGLES2', 'GLES2', 'EGL'] + TargetAdd('pandagles2_pandagles2.obj', opts=OPTS, input='pandagles2.cxx') + TargetAdd('libpandagles2.dll', input='pandagles2_pandagles2.obj') + TargetAdd('libpandagles2.dll', input='p3gles2gsg_config_gles2gsg.obj') + TargetAdd('libpandagles2.dll', input='p3gles2gsg_gles2gsg.obj') + TargetAdd('libpandagles2.dll', input='pandagles2_androiddisplay_composite1.obj') + TargetAdd('libpandagles2.dll', input='libp3android.dll') + TargetAdd('libpandagles2.dll', input=COMMON_PANDA_LIBS) + TargetAdd('libpandagles2.dll', opts=['MODULE', 'GLES2', 'EGL']) + # # DIRECTORY: panda/src/tinydisplay/ # diff --git a/panda/metalibs/pandagles2/pandagles2.cxx b/panda/metalibs/pandagles2/pandagles2.cxx index b0b36c63ff..cf90302fd1 100644 --- a/panda/metalibs/pandagles2/pandagles2.cxx +++ b/panda/metalibs/pandagles2/pandagles2.cxx @@ -9,8 +9,13 @@ #define OPENGLES_2 #include "config_gles2gsg.h" +#if defined(ANDROID) +#include "config_androiddisplay.h" +#include "androidGraphicsPipe.h" +#else #include "config_egldisplay.h" #include "eglGraphicsPipe.h" +#endif /** * Initializes the library. This must be called at least once before any of @@ -21,7 +26,12 @@ void init_libpandagles2() { init_libgles2gsg(); + +#if defined(ANDROID) + init_libandroiddisplay(); +#else init_libegldisplay(); +#endif } /** @@ -30,5 +40,9 @@ init_libpandagles2() { */ int get_pipe_type_pandagles2() { +#if defined(ANDROID) + return AndroidGraphicsPipe::get_class_type().get_index(); +#else return eglGraphicsPipe::get_class_type().get_index(); +#endif }