[Mesa-dev] [PATCH 1/3] meson: Define NDEBUG for non-debug-builds
robdclark at gmail.com
Tue Jul 17 13:07:38 UTC 2018
On Tue, Jul 17, 2018 at 9:01 AM, Rob Clark <robdclark at gmail.com> wrote:
> On Mon, Apr 16, 2018 at 5:19 PM, Dylan Baker <dylan at pnwbakers.com> wrote:
>> Quoting Jan Alexander Steffens (heftig) (2018-04-14 10:23:20)
>>> This is for parity with autotools. We were suddenly getting assertion
>>> failures after switching to meson, see .
>>> : https://bugs.archlinux.org/task/58218
>>> Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
>>> meson.build | 2 ++
>>> 1 file changed, 2 insertions(+)
>>> diff --git a/meson.build b/meson.build
>>> index a4dfa62255..931e0389e6 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> @@ -705,6 +705,8 @@ endif
>>> # Define DEBUG for debug builds only (debugoptimized is not included on this one)
>>> if get_option('buildtype') == 'debug'
>>> pre_args += '-DDEBUG'
>>> + pre_args += '-DNDEBUG'
>>> if get_option('shader-cache')
>> meson has -Db_ndebug for controlling NDEBUG, which is done separately from
>> optimization levels, this is in our documentation as well as the meson
>> documentation. For builds without asserts, set b_ndebug=true.
> Is it possible to make b_ndebug default to true for release builds?
> That would be far less surprising..
just for context, debug_assert() (which can be used for expensive
checks), nir_validate_shader() (quite expensive), etc are all
controlled by NDEBUG.. so b_ndebug defaulting to false for release
builds basically looks like a big performance regression compared to
More information about the mesa-dev