rpms/libdrm/devel libdrm-2.4.7-revert-bong.patch, NONE, 1.1 libdrm.spec, 1.73, 1.74

Dave Airlie airlied at fedoraproject.org
Fri Apr 10 22:25:52 UTC 2009


Author: airlied

Update of /cvs/pkgs/rpms/libdrm/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv15404

Modified Files:
	libdrm.spec 
Added Files:
	libdrm-2.4.7-revert-bong.patch 
Log Message:
* Sat Apr 11 2009 Dave Airlie <airlied at redhat.com> 2.4.6-4
- libdrm-2.4.7-revert-bong.patch - revert connector "speedups"


libdrm-2.4.7-revert-bong.patch:

--- NEW FILE libdrm-2.4.7-revert-bong.patch ---
commit e0265401be3c35f668d56a1b6b11084b708e2afa
Author: Dave Airlie <airlied at linux.ie>
Date:   Sat Apr 11 08:16:44 2009 +1000

    Revert "libdrm: speed up connector & mode fetching"
    
    This reverts commit cd5c66c659168cbe2e3229ebf8be79f764ed0ee1.

diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c
index e2aba81..872604f 100644
--- a/libdrm/xf86drmMode.c
+++ b/libdrm/xf86drmMode.c
@@ -357,45 +357,21 @@ drmModeConnectorPtr drmModeGetConnector(int fd, uint32_t connector_id)
 {
 	struct drm_mode_get_connector conn;
 	drmModeConnectorPtr r = NULL;
-	int pre_props = 8, pre_modes = 16, pre_encoders = 4;
 
 	conn.connector_id = connector_id;
 	conn.connector_type_id = 0;
 	conn.connector_type  = 0;
-	conn.count_modes  = pre_modes;
-	conn.count_props  = pre_props;
-	conn.count_encoders  = pre_encoders;
-
-	/*
-	 * Pre-allocate space for some modes, properties, and encoders.  If
-	 * we're lucky we won't need to call into the kernel twice.
-	 */
-	conn.props_ptr = VOID2U64(drmMalloc(pre_props * sizeof(uint32_t)));
-	conn.prop_values_ptr = VOID2U64(drmMalloc(pre_props *
-						  sizeof(uint64_t)));
-	conn.modes_ptr = VOID2U64(drmMalloc(pre_modes *
-					    sizeof(struct drm_mode_modeinfo)));
-	conn.encoders_ptr = VOID2U64(drmMalloc(pre_encoders *
-					       sizeof(uint32_t)));
+	conn.count_modes  = 0;
+	conn.modes_ptr    = 0;
+	conn.count_props  = 0;
+	conn.props_ptr    = 0;
+	conn.prop_values_ptr = 0;
+	conn.count_encoders  = 0;
+	conn.encoders_ptr = 0;
 
 	if (drmIoctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, &conn))
 		return 0;
 
-	if (conn.count_props <= pre_props &&
-	    conn.count_modes <= pre_modes &&
-	    conn.count_encoders <= pre_encoders)
-		goto done;
-
-	/* Oh well, free & reallocate everything and ask again... */
-	drmFree(U642VOID(conn.prop_values_ptr));
-	drmFree(U642VOID(conn.props_ptr));
-	drmFree(U642VOID(conn.modes_ptr));
-	drmFree(U642VOID(conn.encoders_ptr));
-	conn.prop_values_ptr = 0;
-	conn.props_ptr = 0;
-	conn.modes_ptr = 0;
-	conn.encoders_ptr = 0;
-
 	if (conn.count_props) {
 		conn.props_ptr = VOID2U64(drmMalloc(conn.count_props*sizeof(uint32_t)));
 		conn.prop_values_ptr = VOID2U64(drmMalloc(conn.count_props*sizeof(uint64_t)));
@@ -410,7 +386,6 @@ drmModeConnectorPtr drmModeGetConnector(int fd, uint32_t connector_id)
 	if (drmIoctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, &conn))
 		goto err_allocs;
 
-done:
 	if(!(r = drmMalloc(sizeof(*r)))) {
 		goto err_allocs;
 	}


Index: libdrm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libdrm/devel/libdrm.spec,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- libdrm.spec	7 Apr 2009 13:21:30 -0000	1.73
+++ libdrm.spec	10 Apr 2009 22:25:21 -0000	1.74
@@ -3,7 +3,7 @@
 Summary: Direct Rendering Manager runtime library
 Name: libdrm
 Version: 2.4.6
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: MIT
 Group: System Environment/Libraries
 URL: http://dri.sourceforge.net
@@ -22,6 +22,8 @@
 
 Source2: 91-drm-modeset.rules
 
+# totally busted connector code
+Patch0: libdrm-2.4.7-revert-bong.patch
 # hardcode the 666 instead of 660 for device nodes
 Patch3: libdrm-make-dri-perms-okay.patch
 # remove backwards compat not needed on Fedora
@@ -44,6 +46,7 @@
 
 %prep
 %setup -q -n %{name}-%{version}
+%patch0 -p1 -b .bong
 %patch3 -p1 -b .forceperms
 %patch4 -p1 -b .no-bc
 %patch8 -p1 -b .radeon
@@ -106,6 +109,9 @@
 %{_libdir}/pkgconfig/libdrm_nouveau.pc
 
 %changelog
+* Sat Apr 11 2009 Dave Airlie <airlied at redhat.com> 2.4.6-4
+- libdrm-2.4.7-revert-bong.patch - revert connector "speedups"
+
 * Tue Apr  7 2009 Kristian Høgsberg <krh at redhat.com> - 2.4.6-3
 - BuildRequire libudev-devel for test cases.
 




More information about the fedora-extras-commits mailing list