On 07/28/2015 10:05 AM, Emil Velikov wrote: > On 28/07/15 17:54, Bish, Jim wrote: >> >> >> On 07/28/2015 06:11 AM, Emil Velikov wrote: >>> Hello Jim, >>> >>> On 28 July 2015 at 02:57, Bish, Jim <jim.b...@intel.com> wrote: >>>> From: Jim Bish <jim.b...@intel.com> >>>> >>> Would you mind splitting this into separate patches ? Adding a few >>> words in the commit log(s) would be highly preferable. >> sure. thought this was small enough but ok with breaking it out >>> >>>> --- >>>> Android.common.mk | 10 ++++++++++ >>>> Android.mk | 3 +++ >>>> src/mesa/Android.libmesa_dricore.mk | 2 +- >>>> src/mesa/drivers/dri/i965/intel_fbo.c | 6 +++++- >>>> src/mesa/drivers/dri/i965/intel_tex_image.c | 4 +++- >>>> 5 files changed, 22 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/Android.common.mk b/Android.common.mk >>>> index d662d60..68c2e1b 100644 >>>> --- a/Android.common.mk >>>> +++ b/Android.common.mk >>>> @@ -76,6 +76,16 @@ LOCAL_CFLAGS += \ >>>> -D__STDC_LIMIT_MACROS >>>> endif >>>> >>>> +# add libdrm if there are hardware drivers >>>> +ifneq ($(filter-out swrast,$(MESA_GPU_DRIVERS)),) >>>> +LOCAL_CFLAGS += -DHAVE_LIBDRM >>> >>>> +LOCAL_CFLAGS += \ >>>> + -I$(DRM_TOP)/include/drm \ >>>> + -I$(DRM_TOP) \ >>>> + -I$(DRM_GRALLOC_TOP) >>> The above includes should _not_ be needed. Please make sure that >>> LOCAL_EXPORT_C_INCLUDE_DIRS for libdrm and friends are set correctly. >>> The former two are addressed upstream [1] while there is a patch for >>> the last one on mesa-dev (as there is no upstream for drm_gralloc) [2] >>> >>> Do you know of any plans to use upstream libdrm ? Or at least >>> rebase/merge with upstream changes ? >>> >>> >>>> +LOCAL_SHARED_LIBRARIES += libdrm >>>> +endif >>>> + >>> The rest of the hunk seems ok, but please mention why in the commit log. >>> >>>> LOCAL_CPPFLAGS += \ >>>> $(if $(filter true,$(MESA_LOLLIPOP_BUILD)),-D_USING_LIBCXX) \ >>>> -Wno-error=non-virtual-dtor \ >>>> diff --git a/Android.mk b/Android.mk >>>> index ed160fb..8f523bb 100644 >>>> --- a/Android.mk >>>> +++ b/Android.mk >>>> @@ -45,6 +45,9 @@ endif >>>> MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk >>>> MESA_PYTHON2 := python >>>> >>>> +DRM_TOP := external/drm >>>> +DRM_GRALLOC_TOP := hardware/drm_gralloc >>>> + >>> Please don't. See above for details. >>> >>>> classic_drivers := i915 i965 >>>> gallium_drivers := swrast freedreno i915g ilo nouveau r300g r600g >>>> radeonsi vmwgfx vc4 >>>> >>>> diff --git a/src/mesa/Android.libmesa_dricore.mk >>>> b/src/mesa/Android.libmesa_dricore.mk >>>> index 2e308b8..fef76c8 100644 >>>> --- a/src/mesa/Android.libmesa_dricore.mk >>>> +++ b/src/mesa/Android.libmesa_dricore.mk >>>> @@ -50,7 +50,7 @@ endif # MESA_ENABLE_ASM >>>> ifeq ($(ARCH_X86_HAVE_SSE4_1),true) >>>> LOCAL_SRC_FILES += \ >>>> main/streaming-load-memcpy.c \ >>>> - mesa/main/sse_minmax.c >>>> + main/sse_minmax.c >>>> LOCAL_CFLAGS := \ >>>> -msse4.1 \ >>>> -DUSE_SSE41 >>>> diff --git a/src/mesa/drivers/dri/i965/intel_fbo.c >>>> b/src/mesa/drivers/dri/i965/intel_fbo.c >>>> index 87ba624..e6cdd76 100644 >>>> --- a/src/mesa/drivers/dri/i965/intel_fbo.c >>>> +++ b/src/mesa/drivers/dri/i965/intel_fbo.c >>>> @@ -355,13 +355,17 @@ intel_image_target_renderbuffer_storage(struct >>>> gl_context *ctx, >>>> screen->loaderPrivate); >>>> if (image == NULL) >>>> return; >>>> - >>>> +#ifndef HAVE_ANDROID_PLATFORM >>>> + /* >>>> + * Disable this check for Android >>>> + */ >>>> if (image->planar_format && image->planar_format->nplanes > 1) { >>>> _mesa_error(ctx, GL_INVALID_OPERATION, >>>> "glEGLImageTargetRenderbufferStorage(planar buffers are not " >>>> "supported as render targets."); >>>> return; >>>> } >>>> +#endif >>> Imho this should be a separate patch, with the commit and/or comment >>> providing more information. >>> >>>> >>>> /* __DRIimage is opaque to the core so it has to be checked here */ >>>> switch (image->format) { >>>> diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c >>>> b/src/mesa/drivers/dri/i965/intel_tex_image.c >>>> index 3611280..4b3e9cf 100644 >>>> --- a/src/mesa/drivers/dri/i965/intel_tex_image.c >>>> +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c >>>> @@ -317,8 +317,10 @@ intel_image_target_texture_2d(struct gl_context *ctx, >>>> GLenum target, >>>> if (image == NULL) >>>> return; >>>> >>>> +#ifndef HAVE_ANDROID_PLATFORM >>>> /* We support external textures only for EGLImages created with >>>> * EGL_EXT_image_dma_buf_import. We may lift that restriction in the >>>> future. >>>> + * We have to remove this restriction for Android builds. >>>> */ >>>> if (target == GL_TEXTURE_EXTERNAL_OES && !image->dma_buf_imported) { >>>> _mesa_error(ctx, GL_INVALID_OPERATION, >>>> @@ -326,7 +328,7 @@ intel_image_target_texture_2d(struct gl_context *ctx, >>>> GLenum target, >>>> "for images created with EGL_EXT_image_dma_buf_import"); >>>> return; >>>> } >>>> - >>>> +#endif >>> Ditto. >>> >>> Chad, >>> I was under the impression that both restrictions were lifted with >>> your EGL_EXT_image_dma_buf_import >>> /OES_EGL_image_external work. Would you know, off hand, what is still >>> missing ? >> let me know on this. I thought we still had to do this but if I am wrong >> then ok. > Afaik (based on android-x86) this is required to get SurfaceFlinger > working. I do wonder if we can drop one/both restrictions for all > platforms ? Someone with deeper knowledge in the driver should comment > though. > > Cheers, > Emil > Emil, I will test this out for each one on my android platforms. not full coverage but what I can test.
Jim _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev