[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] fglrx8.8.25 + linux kernel 2.6.11-rc2




Hi,

latest 2.6.11 release candidate has dropped the definition of
 drm_agp_t structure, and is not exporting variable drm_agp
 anymore;

I tested the patch, and was able to enable dri with useinternalagp
 option defined and undefined; after solving my hangs/lockups in
 doom3 (inspired from the rage3d forums) I could play it for several
 hours (started a new game and played until I exited alpha labs
 section 1, when I got tired/spoked by the noise and monsters, without
 any lockups)

Best regards,

Alex.

PS: patch prerequisite -- working & compiling fglrx with kernel
    version 2.6.11rc1
--- firegl_public.c-orig	2005-01-22 13:06:54.979098000 +0200
+++ firegl_public.c	2005-01-22 22:14:03.395750408 +0200
@@ -2800,6 +2800,37 @@ int ATI_API_CALL __ke_vm_map(struct file
 
 #if LINUX_VERSION_CODE >= 0x020400
 
+#if LINUX_VERSION_CODE >= 0x02060b
+
+typedef struct {
+	void			(*free_memory)(struct agp_memory *);
+	struct agp_memory *	(*allocate_memory)(size_t, u32);
+	int			(*bind_memory)(struct agp_memory *, off_t);
+	int			(*unbind_memory)(struct agp_memory *);
+	void			(*enable)(u32);
+	int			(*acquire)(void);
+	void			(*release)(void);
+	int			(*copy_info)(struct agp_kern_info *);
+} drm_agp_t;
+
+static const drm_agp_t drm_agp = {
+	&agp_free_memory,
+	&agp_allocate_memory,
+	&agp_bind_memory,
+	&agp_unbind_memory,
+	&agp_enable,
+	&agp_backend_acquire,
+	&agp_backend_release,
+	&agp_copy_info
+};
+#undef DRM_AGP_MODULE_GET
+#undef DRM_AGP_MODULE_PUT
+
+#define DRM_AGP_MODULE_GET      &drm_agp
+#define DRM_AGP_MODULE_PUT 
+
+#endif
+
 static const drm_agp_t  *drm_agp_module_stub = NULL;
 
 #define AGP_FUNCTIONS		8