]> git.pld-linux.org Git - packages/Mesa.git/commitdiff
- master fixes
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 1 Jul 2008 09:36:14 +0000 (09:36 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    Mesa-libdrm.patch -> 1.1

Mesa-libdrm.patch [new file with mode: 0644]

diff --git a/Mesa-libdrm.patch b/Mesa-libdrm.patch
new file mode 100644 (file)
index 0000000..2315823
--- /dev/null
@@ -0,0 +1,280 @@
+commit d3f7b463c3975c070503053e4ad70af99016a756
+Author: Dave Airlie <airlied@linux.ie>
+Date:   Tue Jul 1 18:22:12 2008 +1000
+
+    dri: drop asserts to make build against stable libdrm
+    
+    These asserts are of questionable use at the moment with things in flux.
+
+diff --git a/src/mesa/drivers/dri/common/dri_bufmgr.c b/src/mesa/drivers/dri/common/dri_bufmgr.c
+index 4df006f..8b5cb76 100644
+--- a/src/mesa/drivers/dri/common/dri_bufmgr.c
++++ b/src/mesa/drivers/dri/common/dri_bufmgr.c
+@@ -40,11 +40,6 @@ dri_bo *
+ dri_bo_alloc(dri_bufmgr *bufmgr, const char *name, unsigned long size,
+            unsigned int alignment, uint64_t location_mask)
+ {
+-   assert((location_mask & ~(DRM_BO_FLAG_MEM_LOCAL | DRM_BO_FLAG_MEM_TT |
+-                           DRM_BO_FLAG_MEM_VRAM | DRM_BO_FLAG_MEM_PRIV0 |
+-                           DRM_BO_FLAG_MEM_PRIV1 | DRM_BO_FLAG_MEM_PRIV2 |
+-                           DRM_BO_FLAG_MEM_PRIV3 | DRM_BO_FLAG_MEM_PRIV4 |
+-                           DRM_BO_FLAG_CACHED | DRM_BO_FLAG_CACHED_MAPPED)) == 0);
+    return bufmgr->bo_alloc(bufmgr, name, size, alignment, location_mask);
+ }
+@@ -53,12 +48,6 @@ dri_bo_alloc_static(dri_bufmgr *bufmgr, const char *name, unsigned long offset,
+                   unsigned long size, void *virtual,
+                   uint64_t location_mask)
+ {
+-   assert((location_mask & ~(DRM_BO_FLAG_MEM_LOCAL | DRM_BO_FLAG_MEM_TT |
+-                           DRM_BO_FLAG_MEM_VRAM | DRM_BO_FLAG_MEM_PRIV0 |
+-                           DRM_BO_FLAG_MEM_PRIV1 | DRM_BO_FLAG_MEM_PRIV2 |
+-                           DRM_BO_FLAG_MEM_PRIV3 |
+-                           DRM_BO_FLAG_MEM_PRIV4)) == 0);
+-
+    return bufmgr->bo_alloc_static(bufmgr, name, offset, size, virtual,
+                                 location_mask);
+ }
+commit 0b734bd7cf921592eee441f759687e10f48a2cbc
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Wed May 28 15:55:44 2008 +1000
+
+    mesa/drm/ttm: allow build against non-TTM aware libdrm
+    
+    I'll release a libdrm 2.3.1 without TTM apis included from a special
+    drm branch that should allow mesa 7.1 to build against it.
+    
+    I've had to turn off DRI2 stuff.
+
+diff --git a/configure.ac b/configure.ac
+index a250f75..a73c754 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -478,6 +478,19 @@ AC_ARG_ENABLE([driglx-direct],
+         [enable direct rendering in GLX for DRI @<:@default=enabled@:>@])],
+     [driglx_direct="$enableval"],
+     [driglx_direct="yes"])
++dnl ttm support
++AC_ARG_ENABLE([ttm-api],
++    [AS_HELP_STRING([--enable-ttm-api],
++      [enable TTM API users])],
++    [ttmapi="$enableval"],
++    [ttmapi="no"])
++
++if test "x$ttmapi" = "xyes"; then
++    save_CFLAGS=$CFLAGS
++    CFLAGS=$LIBDRM_CFLAGS
++    AC_CHECK_HEADERS([xf86mm.h],[],[AC_MSG_ERROR([xf86mm.h required for TTM.])],[#include "stdint.h"\n#include "drm.h"])
++    CFLAGS=$save_CFLAGS
++fi
+ dnl Which drivers to build - default is chosen by platform
+ AC_ARG_WITH([dri-drivers],
+@@ -516,6 +529,10 @@ if test "$mesa_driver" = dri; then
+         DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
+     fi
++    if test "x$ttmapi" = xyes; then
++        DEFINES="$DEFINES -DTTM_API"
++    fi
++
+     if test "x$USING_EGL" = x1; then
+         PROGRAM_DIRS="egl"
+     fi
+@@ -934,6 +951,7 @@ if test "$mesa_driver" = dri; then
+     dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/  */ /;s/ *$//'`
+     echo "        DRI drivers:     $dri_dirs"
+     echo "        DRI driver dir:  $DRI_DRIVER_INSTALL_DIR"
++    echo "        TTM API support: $ttmapi"
+ fi
+ dnl Libraries
+diff --git a/src/mesa/drivers/dri/common/dri_bufmgr.h b/src/mesa/drivers/dri/common/dri_bufmgr.h
+index 4593eaf..0a726dc 100644
+--- a/src/mesa/drivers/dri/common/dri_bufmgr.h
++++ b/src/mesa/drivers/dri/common/dri_bufmgr.h
+@@ -219,4 +219,42 @@ void dri_post_process_relocs(dri_bo *batch_buf);
+ void dri_post_submit(dri_bo *batch_buf, dri_fence **last_fence);
+ int dri_bufmgr_check_aperture_space(dri_bo *bo);
++#ifndef TTM_API
++/* reuse some TTM API */
++
++#define DRM_BO_MEM_LOCAL 0
++#define DRM_BO_MEM_TT 1
++#define DRM_BO_MEM_VRAM 2
++#define DRM_BO_MEM_PRIV0 3
++#define DRM_BO_MEM_PRIV1 4
++#define DRM_BO_MEM_PRIV2 5
++#define DRM_BO_MEM_PRIV3 6
++#define DRM_BO_MEM_PRIV4 7
++
++#define DRM_BO_FLAG_READ        (1ULL << 0)
++#define DRM_BO_FLAG_WRITE       (1ULL << 1)
++#define DRM_BO_FLAG_EXE         (1ULL << 2)
++#define DRM_BO_MASK_ACCESS    (DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE | DRM_BO_FLAG_EXE)
++#define DRM_BO_FLAG_NO_EVICT    (1ULL << 4)
++
++#define DRM_BO_FLAG_MAPPABLE    (1ULL << 5)
++#define DRM_BO_FLAG_SHAREABLE   (1ULL << 6)
++
++#define DRM_BO_FLAG_CACHED      (1ULL << 7)
++
++#define DRM_BO_FLAG_NO_MOVE     (1ULL << 8)
++#define DRM_BO_FLAG_CACHED_MAPPED    (1ULL << 19)
++#define DRM_BO_FLAG_FORCE_CACHING  (1ULL << 13)
++#define DRM_BO_FLAG_FORCE_MAPPABLE (1ULL << 14)
++#define DRM_BO_FLAG_TILE           (1ULL << 15)
++
++#define DRM_BO_FLAG_MEM_LOCAL  (1ULL << 24)
++#define DRM_BO_FLAG_MEM_TT     (1ULL << 25)
++#define DRM_BO_FLAG_MEM_VRAM   (1ULL << 26)
++
++#define DRM_BO_MASK_MEM         0x00000000FF000000ULL
++
++#define DRM_FENCE_TYPE_EXE                 0x00000001
++#endif
++
+ #endif
+diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
+index daa3fc5..6efdf43 100644
+--- a/src/mesa/drivers/dri/common/dri_util.c
++++ b/src/mesa/drivers/dri/common/dri_util.c
+@@ -771,8 +771,10 @@ static void driDestroyScreen(__DRIscreen *psp)
+           (*psp->DriverAPI.DestroyScreen)(psp);
+       if (psp->dri2.enabled) {
++#ifdef TTM_API
+           drmBOUnmap(psp->fd, &psp->dri2.sareaBO);
+           drmBOUnreference(psp->fd, &psp->dri2.sareaBO);
++#endif
+       } else {
+          (void)drmUnmap((drmAddress)psp->pSAREA, SAREA_MAX);
+          (void)drmUnmap((drmAddress)psp->pFB, psp->fbSize);
+@@ -904,6 +906,7 @@ dri2CreateNewScreen(int scrn, int fd, unsigned int sarea_handle,
+                   const __DRIextension **extensions,
+                   const __DRIconfig ***driver_configs, void *data)
+ {
++#ifdef TTM_API
+     static const __DRIextension *emptyExtensionList[] = { NULL };
+     __DRIscreen *psp;
+     unsigned int *p;
+@@ -971,6 +974,9 @@ dri2CreateNewScreen(int scrn, int fd, unsigned int sarea_handle,
+     psp->DriverAPI = driDriverAPI;
+     return psp;
++#else
++    return NULL;
++#endif
+ }
+ static const __DRIextension **driGetExtensions(__DRIscreen *psp)
+diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
+index 8e1cdfc..203479e 100644
+--- a/src/mesa/drivers/dri/common/dri_util.h
++++ b/src/mesa/drivers/dri/common/dri_util.h
+@@ -53,7 +53,6 @@
+ #include <drm.h>
+ #include <drm_sarea.h>
+ #include <xf86drm.h>
+-#include <xf86mm.h>
+ #include "GL/internal/glcore.h"
+ #include "GL/internal/dri_interface.h"
+ #include "GL/internal/dri_sarea.h"
+@@ -524,7 +523,9 @@ struct __DRIscreenRec {
+       /* Flag to indicate that this is a DRI2 screen.  Many of the above
+        * fields will not be valid or initializaed in that case. */
+       int enabled;
++#ifdef TTM_API
+       drmBO sareaBO;
++#endif
+       void *sarea;
+       __DRIEventBuffer *buffer;
+       __DRILock *lock;
+diff --git a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c
+index 545913f..194814e 100644
+--- a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c
++++ b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.c
+@@ -50,6 +50,7 @@
+ #include "i915_drm.h"
+ #include "intel_bufmgr_ttm.h"
++#ifdef TTM_API
+ #define DBG(...) do {                                 \
+    if (bufmgr_ttm->bufmgr.debug)                      \
+@@ -1099,4 +1100,23 @@ intel_bufmgr_ttm_init(int fd, unsigned int fence_type,
+     return &bufmgr_ttm->bufmgr;
+ }
++#else
++dri_bufmgr *
++intel_bufmgr_ttm_init(int fd, unsigned int fence_type,
++                    unsigned int fence_type_flush, int batch_size)
++{
++    return NULL;
++}
++
++dri_bo *
++intel_ttm_bo_create_from_handle(dri_bufmgr *bufmgr, const char *name,
++                            unsigned int handle)
++{
++    return NULL;
++}
++void
++intel_ttm_enable_bo_reuse(dri_bufmgr *bufmgr)
++{
++}
++#endif
+diff --git a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h
+index d267a16..f5bd64c 100644
+--- a/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h
++++ b/src/mesa/drivers/dri/intel/intel_bufmgr_ttm.h
+@@ -7,8 +7,10 @@
+ extern dri_bo *intel_ttm_bo_create_from_handle(dri_bufmgr *bufmgr, const char *name,
+                                              unsigned int handle);
++#ifdef TTM_API
+ dri_fence *intel_ttm_fence_create_from_arg(dri_bufmgr *bufmgr, const char *name,
+                                          drm_fence_arg_t *arg);
++#endif
+ dri_bufmgr *intel_bufmgr_ttm_init(int fd, unsigned int fence_type,
+@@ -17,4 +19,10 @@ dri_bufmgr *intel_bufmgr_ttm_init(int fd, unsigned int fence_type,
+ void
+ intel_ttm_enable_bo_reuse(dri_bufmgr *bufmgr);
++#ifndef TTM_API
++#define DRM_I915_FENCE_CLASS_ACCEL 0
++#define DRM_I915_FENCE_TYPE_RW 2
++#define DRM_I915_FENCE_FLAG_FLUSHED 0x01000000
++#endif
++
+ #endif
+diff --git a/src/mesa/drivers/dri/intel/intel_ioctl.c b/src/mesa/drivers/dri/intel/intel_ioctl.c
+index 66e3610..f4566ba 100644
+--- a/src/mesa/drivers/dri/intel/intel_ioctl.c
++++ b/src/mesa/drivers/dri/intel/intel_ioctl.c
+@@ -147,6 +147,7 @@ intel_batch_ioctl(struct intel_context *intel,
+    }
+ }
++#ifdef TTM_API
+ void
+ intel_exec_ioctl(struct intel_context *intel,
+                GLuint used,
+@@ -211,3 +212,12 @@ intel_exec_ioctl(struct intel_context *intel,
+    }
+    *fence = fo;
+ }
++#else
++void
++intel_exec_ioctl(struct intel_context *intel,
++               GLuint used,
++               GLboolean ignore_cliprects, GLboolean allow_unlock,
++               void *start, GLuint count, dri_fence **fence)
++{
++}
++#endif
This page took 0.232166 seconds and 4 git commands to generate.