Hi,

Thanks for the alignment fixes. I have no experience on ARM so I
didn't take that into account.

As for the GCC extension:
you could also align manually by creating a bigger array and increasing
pointer to the nearest greater multiple of alignment size,
which doesn't depend on compiler.
I'm not sure if that's guaranteed to be safe everywhere, though.

Don't have time right now, but will check later.

FM

On 3/23/13, Alexander Wolf <[email protected]> wrote:
> Hi!
>
> 2013/3/23 Greg Alexander <[email protected]>
>
>> I checked out the bazaar repository, rev 5924, and built it and
>> discovered two separate issues that caused Stellarium to crash on startup
>> on my computer.  I'm new to Stellarium development (and to Bazaar) so I
>> hope I'm not doing this wrong...
>>
>
> I think this was you on IRC :)
>
>
>>
>> First, the new solar system shadows are enabled by default, but if they
>> are initialized without StelRenderer::areFloatTexturesSupported() then
>> that triggers an assert failure in
>> StelRenderer::createTexture(void*,QSize,TextureDataFormat,TextureParams&).
>> I believe I saw this before other users because I am using unaccelerated
>> (software rendered) MesaGL.  My proposed remedy is to disable solar
>> system
>> shadows (regardless of the config parameter) if float textures are
>> not supported.
>>
>
> ok. I'm apply this patch - it's a logical and nothing broken :)
>
>
>>
>> Second, StelQGLGLSLShader.uniformStorage can be unaligned, both because
>> its start position may be unaligned and because it may contain members
>> (such as bool) which would introduce misalignment in subsequent members.
>> I believe I saw this before other users because I am running on ARM,
>> which gives a fatal SIGBUS for unaligned memory access.  My proposed
>> remedy is to enforce a minimum alignment in uniformStorage corresponding
>> to sizeof(void*), which should be harmless on most platforms, a slight
>> performance improvement on some, and the difference between
>> crashing-or-not on a few.  Note that I use the GCC
>>
>
> This patch works for the unaccelerated mode (GL1) but it broken the
> accelerated mode (GL2).
>
>
>
>> __attribute__((aligned(n))) extension.  I noticed that the similar GCC
>> extension __attribute__((packed)) was already used in Stellarium, so
>>  hopefully that is not forbidden...
>>
>
> Well, you should use #ifdef defined(__GNUC__) for GCC extension because
> Stellarium build via clang too. :)
>
>
>> As an aside, I am working on the development branch of Stellarium because
>> I am attempting to improve the performance on my new laptop that does not
>> have accelerated GL drivers.  At first glance, the new build from Bazaar
>> appears to be about 400% slower than the 0.11.4 that I had been working
>> with, so that is where my focus will be if I have any future
>> contributions.
>>
>
> You can register at launchpad and create a branch for Stellarium - I think
> this will be better way for coding and applies patches.
>
>
>> And thanks -- Stellarium is simply the best!!  Even at 1fps, I find I
>> can't live without it.
>>
>
> Thanks!
>
> --
> With best regards, Alexander
>

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Stellarium-pubdevel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel

Reply via email to