Date: Wed, 29 Apr 2009 18:38:43 +0200 From: Roland Smith <rsmith@xs4all.nl> To: Oliver Lehmann <lehmann@ans-netz.de> Cc: x11@freebsd.org Subject: Re: Problem with OpenGL and ATI HD3850 Message-ID: <20090429163843.GB370@slackbox.xs4all.nl> In-Reply-To: <20090429164113.f0b48048.lehmann@ans-netz.de> References: <20090429164113.f0b48048.lehmann@ans-netz.de>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Wed, Apr 29, 2009 at 04:41:13PM +0200, Oliver Lehmann wrote:
> Hi,
>
> I must admit that I'm not that familiar with the topic, but anyhow:
>
> I'm trying to get an application to run which is called "freeorion". It
> uses as a backend GiGi which itself uses Ogre3D. Inside Ogre3D, the GL
> Renderer is used for rendering (Not SDL for example). When I now startup
> the application, All I get is
>
> unknown chip id 0x9515, can't guess.
> main() caught exception(std::exception): basic_string::_S_construct NULL
> not valid
>
> The exception is caused because glGetString(GL_VERSION) returns NULL
> which is assigned afterwards.
>
> The "unknown chip id..." comes out of dri from the radeon driver.
>
> It is clear to me, that there is no hardware 3D support for my card.
> This is not the point.
>
> I wonder why the GL is moving to the radeon driver. Shouldn't DRI support
> a software 3D emulation which should be used if there is no hardware
> support?
It is, see below.
> Executing glxgears for example says
>
> olivleh1@kartoffel olivleh1> glxgears -info
> unknown chip id 0x9515, can't guess.
> GL_RENDERER = Software Rasterizer
> GL_VERSION = 2.1 Mesa 7.4
> GL_VENDOR = Mesa Project
Mesa is the fallback software renderer.
> So GL_VERSION seems to be indeed something - So I wonder what could cause
> the NULL exception here....
>
> In Ogre3D, the failing code part is:
>
> void GLSupport::initialiseExtensions(void)
> {
> // Set version string
> const GLubyte* pcVer = glGetString(GL_VERSION);
> printf("ogre 110\n");
> assert(pcVer && "Problems getting GL version string using
> glGetString"); printf("ogre 110.1\n");
The assert is weird. Why take an AND of pcVer and a string? Since the
string is a constant non-null value, using the standard && operator is useless.
Is the && operator overloaded by any chance? That could cause the trouble.
Roland
--
R.F.Smith http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)
iEYEARECAAYFAkn4gpMACgkQEnfvsMMhpyV30gCfQBRbRpwKJCWdH7AMeBQoR8xd
CmUAn0YmZnRj/GjDrQzVIMvqK8fUV6SZ
=GcVT
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090429163843.GB370>
