Module: Mesa
Branch: master
Commit: de10d383d029c8559522f731e04572dc997a0dbc
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=de10d383d029c8559522f731e04572dc997a0dbc

Author: Rob Clark <[email protected]>
Date:   Thu Aug 29 17:26:16 2013 -0400

freedreno: pipe loader for either kgsl or msm

The downstream android kernel driver is "kgsl", the upstream drm/kms
driver is called "msm".  Since libdrm_freedreno handles the differences
between the two, we need to load the same thing for either device.

Signed-off-by: Rob Clark <[email protected]>

---

 src/gallium/targets/dri-freedreno/Makefile.am      |   27 +++++++++++++------
 .../dri-freedreno/{target.c => target-kgsl.c}      |    0
 .../dri-freedreno/{target.c => target-msm.c}       |    2 +-
 src/gallium/targets/egl-static/egl_pipe.c          |    2 +-
 4 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/gallium/targets/dri-freedreno/Makefile.am 
b/src/gallium/targets/dri-freedreno/Makefile.am
index cfa1f37..615ae6f 100644
--- a/src/gallium/targets/dri-freedreno/Makefile.am
+++ b/src/gallium/targets/dri-freedreno/Makefile.am
@@ -37,18 +37,16 @@ AM_CPPFLAGS = \
        -DGALLIUM_NOOP
 
 dridir = $(DRI_DRIVER_INSTALL_DIR)
-dri_LTLIBRARIES = kgsl_dri.la
+dri_LTLIBRARIES = kgsl_dri.la msm_dri.la
 
-nodist_EXTRA_kgsl_dri_la_SOURCES = dummy.cpp
-kgsl_dri_la_SOURCES = \
-       target.c \
+COMMON_SOURCES = \
        $(top_srcdir)/src/mesa/drivers/dri/common/utils.c \
        $(top_srcdir)/src/mesa/drivers/dri/common/dri_util.c \
        $(top_srcdir)/src/mesa/drivers/dri/common/xmlconfig.c
 
-kgsl_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
+COMMON_LDFLAGS = -module -avoid-version -shared -no-undefined
 
-kgsl_dri_la_LIBADD = \
+COMMON_LIBADD = \
        $(top_builddir)/src/mesa/libmesagallium.la \
        $(top_builddir)/src/gallium/auxiliary/libgallium.la \
        $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
@@ -62,12 +60,23 @@ kgsl_dri_la_LIBADD = \
        $(FREEDRENO_LIBS)
 
 if HAVE_MESA_LLVM
-kgsl_dri_la_LDFLAGS += $(LLVM_LDFLAGS)
-kgsl_dri_la_LIBADD += $(LLVM_LIBS)
+COMMON_LDFLAGS += $(LLVM_LDFLAGS)
+COMMON_LIBADD += $(LLVM_LIBS)
 endif
 
+nodist_EXTRA_kgsl_dri_la_SOURCES = dummy.cpp
+kgsl_dri_la_SOURCES = target-kgsl.c $(COMMON_SOURCES)
+kgsl_dri_la_LDFLAGS = $(COMMON_LDFLAGS)
+kgsl_dri_la_LIBADD  = $(COMMON_LIBADD)
+
+nodist_EXTRA_msm_dri_la_SOURCES = dummy.cpp
+msm_dri_la_SOURCES  = target-msm.c $(COMMON_SOURCES)
+msm_dri_la_LDFLAGS  = $(COMMON_LDFLAGS)
+msm_dri_la_LIBADD   = $(COMMON_LIBADD)
+
 # Provide compatibility with scripts for the old Mesa build system for
 # a while by putting a link to the driver into /lib of the build tree.
-all-local: kgsl_dri.la
+all-local: kgsl_dri.la msm_dri.la
        $(MKDIR_P) $(top_builddir)/$(LIB_DIR)/gallium
        ln -f .libs/kgsl_dri.so $(top_builddir)/$(LIB_DIR)/gallium/kgsl_dri.so
+       ln -f .libs/msm_dri.so $(top_builddir)/$(LIB_DIR)/gallium/msm_dri.so
diff --git a/src/gallium/targets/dri-freedreno/target.c 
b/src/gallium/targets/dri-freedreno/target-kgsl.c
similarity index 100%
copy from src/gallium/targets/dri-freedreno/target.c
copy to src/gallium/targets/dri-freedreno/target-kgsl.c
diff --git a/src/gallium/targets/dri-freedreno/target.c 
b/src/gallium/targets/dri-freedreno/target-msm.c
similarity index 84%
rename from src/gallium/targets/dri-freedreno/target.c
rename to src/gallium/targets/dri-freedreno/target-msm.c
index dcaf299..4a6299b 100644
--- a/src/gallium/targets/dri-freedreno/target.c
+++ b/src/gallium/targets/dri-freedreno/target-msm.c
@@ -17,4 +17,4 @@ create_screen(int fd)
    return screen;
 }
 
-DRM_DRIVER_DESCRIPTOR("freedreno", "kgsl", create_screen, NULL)
+DRM_DRIVER_DESCRIPTOR("freedreno", "msm", create_screen, NULL)
diff --git a/src/gallium/targets/egl-static/egl_pipe.c 
b/src/gallium/targets/egl-static/egl_pipe.c
index 57a3233..e5100c1 100644
--- a/src/gallium/targets/egl-static/egl_pipe.c
+++ b/src/gallium/targets/egl-static/egl_pipe.c
@@ -241,7 +241,7 @@ egl_pipe_create_drm_screen(const char *name, int fd)
       return pipe_radeonsi_create_screen(fd);
    else if (strcmp(name, "vmwgfx") == 0)
       return pipe_vmwgfx_create_screen(fd);
-   else if (strcmp(name, "kgsl") == 0)
+   else if ((strcmp(name, "kgsl") == 0) || (strcmp(name, "msm") == 0))
       return pipe_freedreno_create_screen(fd);
    else
       return NULL;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to