On 2017-11-03 05:25 AM, Michel Dänzer wrote:
On 02/11/17 07:45 PM, Andres Rodriguez wrote:
On 2017-11-02 01:52 PM, Eric Engestrom wrote:
On Thursday, 2017-11-02 17:39:53 +0000, Eric Engestrom wrote:
On Thursday, 2017-11-02 09:46:05 -0700, Chad Versace wrote:
On Wed 01 Nov 2017, Dylan Baker wrote:
Quoting Ilia Mirkin (2017-11-01 16:05:17)
On Wed, Nov 1, 2017 at 7:03 PM, Dylan Baker <dy...@pnwbakers.com>
wrote:
Quoting Ilia Mirkin (2017-11-01 15:52:56)
On Wed, Nov 1, 2017 at 6:49 PM, Chad Versace
<chadvers...@chromium.org> wrote:
On Wed 01 Nov 2017, Dylan Baker wrote:
Quoting Chad Versace (2017-11-01 14:43:28)
Wow. 10 seconds from a clean checkout to an installed Vulkan
driver.
Glad that it's working out for you guys!
Can I convince you to wire the anvil and i965 android/arc++
bits? ;)
JFYI, the meson build will (I consider it a bug if it doesn't)
turn off all
glapi, egl, and glx if there are no dri or gallium drivers
built unless you
force them on.
Thanks for turning that stuff off. Last time I tried to build just
Vulkan without GL (maybe 1.5 years ago), Autotools didn't allow
it. It
insisted that i965 was a build dependency for anvil.
It also avoids building the glsl compiler unless there's a driver
that uses it.
I expected the buildtime to be much longer because I expected
it to
build the GLSL compiler too. I was surprised and happy to
discover that
it builds only the SPIR-V compiler.
And it defaults to debug, which might be surprising, but people
around here thought that default debug is a feature.
Huh... For infrastructure projects like Mesa (as opposed to test
projects like Piglit), I expect the default build to be the
release
build. But I can understand why others would want default=debug.
autotools defaults to debug disabled. I think that's how almost
every
project does it... debug enabled is definitely a surprise.
-ilia
Well, for distros they likely want to set the buildtype to plain
(meson adds no
compiler flags except ones the project defines), and then add
their default
flags via CFLAGS and CXXFLAGS. That is certainly *not* what
anyone except a
distro (or some kind of build infrastructure like jenkins or
gentoo) would want.
Xorg's default is debugoptimzed, for reference.
--enable-debug enables -DDEBUG in mesa. Are you saying that this is
the default? Or are you just saying that you're not adding extra
-O100073 options?
The meson build keys -DDEBUG on the builtype, debug or
debugoptimized you get
-DDEBUG, anything else, you don't. The way mesa is setup if you
don't have
-DNDEBUG you have to have -DDEBUG or asserts happen for member of
structures
that don't exist.
I'm not dead set on debug as the default buildtype, it's what we
have ATM
though. I asked around here and the feeling was that builtype debug
by default
was a feature. If the larger community disagrees we can change it.
When making this decision, I think we should also consider the needs of
non-developers who build and install Mesa from source to get the latest
version or bugfix. I strongly suspect those people want
buildtype=debugoptimized or buildtype=release.
I think it's important for Mesa to follow the established convention of
most other Linux projects: if a user downloads the source, builds, and
installs, then the user gets a working installation suitable for normal
usage. Today, Meson doesn't give that because it builds Mesa with -O0.
Some context... I install a lot of packages from source on my work
machine because I often want or need newer versions of some packages
than what's available through the package manager.
How do you ensure it integrates correctly with your system [1], other
than by using the package manager's package and updating the version
number locally?
[1] by "integrate" I mean things like installing things in the right
locations, removing stale files from old packages, providing new
dependencies for other packages, etc.
I also install newer version of stuff on various machines, but if I had
to configure each project manually to integrate with my system, then
I would just give up. That burden does not scale :P
The only way I can make this work is by grabbing the existing package,
bumping the version and recompiling it. Part of the configuration set in
the package is the various optimisation flags, be that through
buildtype=release or buildtype=plain + manual cflags.
(Note that for Meson, Arch provides a wrapper [2] that sets all the
options to the right values for ease of use.)
[2]
https://git.archlinux.org/svntogit/packages.git/tree/meson/trunk/arch-meson
I think I wasn't clear, but my point was that IMHO the only time someone
would build something without going through a package is when they're
dev'ing it, in which case buildtype=debug is what they want.
It's not too hard to ask all the devs to manually set it every time
though,
especially since we're all used to having to do it with autotools.
I think this is one of the better reasons to go with an optimized build
type by default.
Additionally, it is very easy for a developer to realize that a build is
missing debug symbols (you'll get the feedback from your debugger
immediately). However, a user might never notice that their build is not
optimized. This can lead to a bad experience that could've easily been
avoided, and possibly some noise in bug reports.
Builds without debugging symbols also result in noise in bug reports.
Agreed, sorry that I worded myself poorly.
I meant to argue just for optimizations enabled ( didn't meant to sound
like I am against debug symbols ). So something like debugoptimized
would be a good default from my POV.
Regards,
Andres
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev