[Mesa-dev] Let's talk about -DDEBUG

Rob Clark robdclark at gmail.com
Wed Dec 12 23:52:47 UTC 2018


On Wed, Dec 12, 2018 at 6:25 PM Dylan Baker <dylan at pnwbakers.com> wrote:
>
> In the autotools discussion I've come to realize that we also need to talk about
> the -DDEBUG guard. It seems that there are two different uses, and thus two
> different asks about it:
>
> - Nine (and RadeonSI?) use -DDEBUG to hide generic debugging
> - NIR and Intel (at least) use -DDEBUG to hide really expensive checks that are
>   useful, but necessarily tank performance.
>
> The first group would like -DDEBUG in debugoptimized builds, the second
> obviously doesn't.
>
> Is the right solution to move the first group being !NDEBUG, or would it be
> better to split DEBUG into two different defines such as DEBUG_MESSAGES and
> EXPENSIVE_VALIDATION (paint the bikeshed whatever color you like), with the
> first for both debug and debugoptimized and the second only in debug builds?

I guess my use cases for !=release builds are:

+ I want all the expensive checking because I'm not in it to win the
  deqp/piglit fps race
+ I want debug syms for profiling and/or valgrind, but otherwise
  want something close to a release build but with debug syms


That said, I can get behind replacing DEBUG with !NDEBUG or
EXPENSIVE_DEBUG or whatever permutation of that color folks prefer


BR,
-R


More information about the mesa-dev mailing list