Hi Dan & Terry, Oh boy, that's a classy driver bug. You would have thought a company that develops CPU compilers would know how to write a parser that handles #pragma properly... you really have to try hard to write bad code to come up with a bug like this.
Head in hands moment... Given the possible fix is so simple I'm inclined to merge it rather than just push the problem back on users. Terry could you modify OpenSceneGraph-Data/shaders/text.vert and text.frag to make sure that #pragma lines are all three or less parameters. If it is a case that a driver update fixes it so that very few machines out there will ever hit this issue then perhaps just telling users to update drivers is the thing to do. Robert. On 25 April 2018 at 16:23, Daniel Emminizer, Code 5773 <[email protected]> wrote: > Hi Terry, > > Hey I might know this one. Thanks for that additional info about your > driver. Do you mind retesting with a change? > > See references: > > - > https://devtalk.nvidia.com/default/topic/971330/opengl/bug-report-crash-in-glcompileshader-if-using-pragma/ > - > https://software.intel.com/en-us/forums/graphics-driver-bug-reporting/topic/623485 > - https://github.com/gwaldron/osgearth/issues/1017 > - https://github.com/gwaldron/osgearth/pull/1106 > - https://github.com/gwaldron/osgearth/pull/1100 > > There are some older intel drivers that crash on shaders that include pragmas > with too many "arguments". The spec says that pragmas should be ignored. > But testing demonstrates severe problems with several intel drivers over a > few years' period where lines like: > > #pragma import_defines( BACKDROP_COLOR, SHADOW, OUTLINE, > SIGNED_DISTANCE_FIELD, TEXTURE_DIMENSION, GLYPH_DIMENSION) > > ... could cause a failure. Breaking it up into separate lines of no more > than 2 arguments each works. > > We found that the magic number for drivers is 3 -- once you get over 3 > parameters, it starts to break (depending on driver version). Could you try > to edit your text.frag file to change: > > #pragma import_defines( BACKDROP_COLOR, SHADOW, OUTLINE, > SIGNED_DISTANCE_FIELD, TEXTURE_DIMENSION, GLYPH_DIMENSION) > > To: > > #pragma import_defines( BACKDROP_COLOR, SHADOW, OUTLINE) > #pragma import_defines( SIGNED_DISTANCE_FIELD, TEXTURE_DIMENSION, > GLYPH_DIMENSION) > > This breaks it into 2 lines of 3 params each. If it's the same bug that we > encountered, this might fixyour problem. > > Robert, I haven't reported this because we haven't explicitly ran into this > same problem with 3.6 and text shaders yet, because we haven't run on those > drivers. Newer drivers do fix the issue. > > - Dan > > > -----Original Message----- > From: osg-users [mailto:[email protected]] On Behalf > Of Terry Welsh > Sent: Wednesday, April 25, 2018 11:10 AM > To: [email protected] > Subject: Re: [osg-users] Please test OpenSceneGraph-3.6 branch in prep for > 3.6.1 > > Looks like I had a graphics driver problem. Originally, I didn't think > that was the problem because the computer I'm working on has dual > graphics and it was crashing in Intel graphics mode and AMD graphics > mode. As it turns out, my dual graphics was broken and running Intel > graphics the whole time. > > Now that's fixed and both drivers are broken, but at least they're > broken in different ways :P Sorry for the false alarm. > - Terry > > P.S. Buy NVidia graphics. > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

