--- a/common/lib/modules/fglrx/build_mod/firegl_public.c +++ b/common/lib/modules/fglrx/build_mod/firegl_public.c @@ -187,6 +187,9 @@ #include #include #include "asm/i387.h" +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) +#include +#endif #include "firegl_public.h" #include "kcl_osconfig.h" @@ -5807,10 +5810,16 @@ void ATI_API_CALL KCL_fpu_begin(void) #ifdef CONFIG_X86_64 kernel_fpu_begin(); #else +#ifndef TS_USEDFPU + preempt_disable(); + if (__thread_has_fpu(current)) + __save_init_fpu(current); +#else struct thread_info *cur_task = current_thread_info(); preempt_disable(); if (cur_task->status & TS_USEDFPU) __save_init_fpu(cur_task->task); +#endif else clts(); #endif