Here's an interesting regression caused by Mesa commit 
c76d4db25260dd68684bf784efacd7323c7cab8b 
(http://cgit.freedesktop.org/mesa/mesa/commit/?id=c76d4db25260dd68684bf784efacd7323c7cab8b).
 
It shows itself only when Mesa is configured with --enable-debug. In this case 
the i965_dri.so driver can't be loaded due to a missing symbol CLAMP:

libGL error: dlopen /usr/lib64/dri/i965_dri.so failed 
(/usr/lib64/dri/i965_dri.so: undefined symbol: CLAMP)

I tracked this down to the removal of the inclusion of "main/macros.h" in 
gen6_cc.c. In color_calc_state_create_from_key() (gen6_cc.c line 220), the 
macro UNCLAMPED_FLOAT_TO_UBYTE is used. This macro is defined in 
"main/imports.h". Unfortunately, for the debug case, this macro calls upon the 
CLAMP macro defined in "main/macros.h", which is no longer included into 
gen6_cc.so.

My feeling is that the macro declaration in "main/imports.h" is at fault. This 
file is included into "main/macros.h", but clearly depends on a macro (CLAMP) 
in there, causing a circular dependency.

To me it sounds like the best way to fix the root cause is to move the 
UNCLAMPED_FLOAT_TO_UBYTE macro to "main/macros.h" where it would sit next to 
other similar macros. gen6_cc.c as a user of this macro would then of course 
include "main/macros.h" again. The minimum fix is just to revert part of 
c76d4db25260dd68684bf784efacd7323c7cab8b for gen6_cc.c

I hope this analysis is useful to you.

Regards,

Magnus Kessler

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to