Commit b4d30d95 by Nicolas Capens

Enable x86-64 builds for Android.

Change-Id: Ief54422c0c0d82c773f96f4491bfebb7ee717ba8 Reviewed-on: https://swiftshader-review.googlesource.com/4351Reviewed-by: 's avatarGreg Hartman <ghartman@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-on: https://swiftshader-review.googlesource.com/4353Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 036125ec
...@@ -20,7 +20,7 @@ ifndef SWIFTSHADER_OPTIM ...@@ -20,7 +20,7 @@ ifndef SWIFTSHADER_OPTIM
SWIFTSHADER_OPTIM := release SWIFTSHADER_OPTIM := release
endif endif
ifneq ($(filter x86, $(TARGET_ARCH)),) ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
ifneq ($(filter gce_x86 gce calypso, $(TARGET_DEVICE))$(filter sdk_google_%, $(TARGET_PRODUCT)),) ifneq ($(filter gce_x86 gce calypso, $(TARGET_DEVICE))$(filter sdk_google_%, $(TARGET_PRODUCT)),)
include $(call all-makefiles-under,$(LOCAL_PATH)) include $(call all-makefiles-under,$(LOCAL_PATH))
endif endif
......
...@@ -70,8 +70,13 @@ LOCAL_LDFLAGS += $(COMMON_LDFLAGS) ...@@ -70,8 +70,13 @@ LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
include $(BUILD_SHARED_LIBRARY) include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
LOCAL_MODULE := libEGL_swiftshader LOCAL_MODULE := libEGL_swiftshader
ifdef TARGET_2ND_ARCH
LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
else
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
endif
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true LOCAL_CLANG := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES) LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
......
...@@ -886,6 +886,13 @@ EGLImageKHR CreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLCl ...@@ -886,6 +886,13 @@ EGLImageKHR CreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLCl
} }
} }
#if defined(__ANDROID__)
if(target == EGL_NATIVE_BUFFER_ANDROID)
{
return new AndroidNativeImage(reinterpret_cast<ANativeWindowBuffer*>(buffer));
}
#endif
GLuint name = reinterpret_cast<intptr_t>(buffer); GLuint name = reinterpret_cast<intptr_t>(buffer);
if(name == 0) if(name == 0)
...@@ -893,13 +900,6 @@ EGLImageKHR CreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLCl ...@@ -893,13 +900,6 @@ EGLImageKHR CreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLCl
return error(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR); return error(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR);
} }
#if defined(__ANDROID__)
if(target == EGL_NATIVE_BUFFER_ANDROID)
{
return new AndroidNativeImage(reinterpret_cast<ANativeWindowBuffer*>(name));
}
#endif
EGLenum validationResult = context->validateSharedImage(target, name, textureLevel); EGLenum validationResult = context->validateSharedImage(target, name, textureLevel);
if(validationResult != EGL_SUCCESS) if(validationResult != EGL_SUCCESS)
......
...@@ -84,7 +84,11 @@ private: ...@@ -84,7 +84,11 @@ private:
#if defined(_WIN32) #if defined(_WIN32)
const char *libEGL_lib[] = {"libEGL.dll", "libEGL_translator.dll"}; const char *libEGL_lib[] = {"libEGL.dll", "libEGL_translator.dll"};
#elif defined(__ANDROID__) #elif defined(__ANDROID__)
#if defined(__LP64__)
const char *libEGL_lib[] = {"/vendor/lib64/egl/libEGL_swiftshader.so"};
#else
const char *libEGL_lib[] = {"/vendor/lib/egl/libEGL_swiftshader.so"}; const char *libEGL_lib[] = {"/vendor/lib/egl/libEGL_swiftshader.so"};
#endif
#elif defined(__LP64__) #elif defined(__LP64__)
const char *libEGL_lib[] = {"lib64EGL_translator.so", "libEGL.so.1", "libEGL.so"}; const char *libEGL_lib[] = {"lib64EGL_translator.so", "libEGL.so.1", "libEGL.so"};
#else #else
......
...@@ -100,7 +100,12 @@ include $(BUILD_SHARED_LIBRARY) ...@@ -100,7 +100,12 @@ include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv1_CM_swiftshader LOCAL_MODULE := libGLESv1_CM_swiftshader
ifdef TARGET_2ND_ARCH
LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
else
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
endif
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES) LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
......
...@@ -243,7 +243,11 @@ private: ...@@ -243,7 +243,11 @@ private:
#if defined(_WIN32) #if defined(_WIN32)
const char *libGLES_CM_lib[] = {"libGLES_CM.dll", "libGLES_CM_translator.dll"}; const char *libGLES_CM_lib[] = {"libGLES_CM.dll", "libGLES_CM_translator.dll"};
#elif defined(__ANDROID__) #elif defined(__ANDROID__)
#if defined(__LP64__)
const char *libGLES_CM_lib[] = {"/vendor/lib64/egl/libGLESv1_CM_swiftshader.so"};
#else
const char *libGLES_CM_lib[] = {"/vendor/lib/egl/libGLESv1_CM_swiftshader.so"}; const char *libGLES_CM_lib[] = {"/vendor/lib/egl/libGLESv1_CM_swiftshader.so"};
#endif
#elif defined(__LP64__) #elif defined(__LP64__)
const char *libGLES_CM_lib[] = {"lib64GLES_CM_translator.so", "libGLES_CM.so.1", "libGLES_CM.so"}; const char *libGLES_CM_lib[] = {"lib64GLES_CM_translator.so", "libGLES_CM.so.1", "libGLES_CM.so"};
#else #else
......
...@@ -104,7 +104,12 @@ include $(BUILD_SHARED_LIBRARY) ...@@ -104,7 +104,12 @@ include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv2_swiftshader LOCAL_MODULE := libGLESv2_swiftshader
ifdef TARGET_2ND_ARCH
LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
else
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
endif
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES) LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
......
...@@ -772,7 +772,7 @@ void BufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage ...@@ -772,7 +772,7 @@ void BufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage
if(context) if(context)
{ {
es2::Buffer *buffer; es2::Buffer *buffer = nullptr;
if(!context->getBuffer(target, &buffer)) if(!context->getBuffer(target, &buffer))
{ {
return error(GL_INVALID_ENUM); return error(GL_INVALID_ENUM);
...@@ -805,7 +805,7 @@ void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid ...@@ -805,7 +805,7 @@ void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid
if(context) if(context)
{ {
es2::Buffer *buffer; es2::Buffer *buffer = nullptr;
if(!context->getBuffer(target, &buffer)) if(!context->getBuffer(target, &buffer))
{ {
return error(GL_INVALID_ENUM); return error(GL_INVALID_ENUM);
......
...@@ -249,7 +249,11 @@ private: ...@@ -249,7 +249,11 @@ private:
#if defined(_WIN32) #if defined(_WIN32)
const char *libGLESv2_lib[] = {"libGLESv2.dll", "libGLES_V2_translator.dll"}; const char *libGLESv2_lib[] = {"libGLESv2.dll", "libGLES_V2_translator.dll"};
#elif defined(__ANDROID__) #elif defined(__ANDROID__)
#if defined(__LP64__)
const char *libGLESv2_lib[] = {"/vendor/lib64/egl/libGLESv2_swiftshader.so"};
#else
const char *libGLESv2_lib[] = {"/vendor/lib/egl/libGLESv2_swiftshader.so"}; const char *libGLESv2_lib[] = {"/vendor/lib/egl/libGLESv2_swiftshader.so"};
#endif
#elif defined(__LP64__) #elif defined(__LP64__)
const char *libGLESv2_lib[] = {"lib64GLES_V2_translator.so", "libGLESv2.so.2", "libGLESv2.so"}; const char *libGLESv2_lib[] = {"lib64GLES_V2_translator.so", "libGLESv2.so.2", "libGLESv2.so"};
#else #else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment