<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 27 May 2016 at 21:11, Jason Ekstrand <span dir="ltr"><<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Fri, May 27, 2016 at 11:49 AM, ⚛ <span dir="ltr"><<a href="mailto:0xe2.0x9a.0x9b@gmail.com" target="_blank">0xe2.0x9a.0x9b@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello.<div><br></div><div><a href="http://en.cppreference.com/w/cpp/thread/future" target="_blank">http://en.cppreference.com/w/cpp/thread/future</a><br></div><div><a href="http://en.cppreference.com/w/cpp/thread/async" target="_blank">http://en.cppreference.com/w/cpp/thread/async</a><br></div><div><br></div><div>Assumption: Shader compilation will need run on separate thread(s).</div><div><br></div><div>From a certain perspective, one of the easy ways of removing Mesa shader compilation from the "main" thread would be to use std::future for some fields in struct gl_program (defined in mtypes.h) and in related source code.</div></div></blockquote><div><br></div></span><div>Given that mtypes.h is included (and struct gl_program) is used by a *lot* of C code, I think using any sort of C++ there is a non-starter, 2011 or otherwise.<br><br></div><div>As far as threading goes, we have other ways of dealing with threading than introducing C++11.  Something that works with C is probably a better path forward.<br></div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Using std::future in the source code would mean that some parts of Mesa need to be converted from C to C++11.</div></div></blockquote><div><br></div></span><div>The "some parts" you're talking about are almost all of mesa.  I don't think that's going to happen.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><div dir="ltr"><div>This post to mesa-dev is just to start the discussion and to determine how many devs are in favor of C++11 (and why) and how many are against C++11 (and why) in Mesa.</div><div><br></div></div></span></blockquote></div></div></div></blockquote><div>I believe that most people agree with Jason here, at least I do. In general the less time we spend re-factoring, the more time we'll have for bringing features (and/or perf. improvements) to new and old hardware. Surely one can resolve the said issue, with a smaller hammer (and thus quicker) than C++11 ?</div><div><br></div><div>Regards,</div><div>Emil</div><div>P.S. Don't be shy to reply on the build fix patch I've Cc'd you earlier. A "seems to work/Tested-by: ..." or any other input is welcome.</div></div></div></div>