Skip site navigation (1)Skip section navigation (2)
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

--aM3YZ0Iwxop3KEKx
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Apr 29, 2009 at 04:41:13PM +0200, Oliver Lehmann wrote:
> Hi,
>=20
> I must admit that I'm not that familiar with the topic, but anyhow:
>=20
> 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
>=20
> unknown chip id 0x9515, can't guess.
> main() caught exception(std::exception): basic_string::_S_construct NULL
> not valid
>=20
> The exception is caused because glGetString(GL_VERSION) returns NULL
> which is assigned afterwards.
>=20
> The "unknown chip id..." comes out of dri from the radeon driver.
>=20
> It is clear to me, that there is no hardware 3D support for my card.
> This is not the point.
>=20
> 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.
=20
> Executing glxgears for example says
>=20
> olivleh1@kartoffel olivleh1> glxgears -info
> unknown chip id 0x9515, can't guess.
> GL_RENDERER   =3D Software Rasterizer
> GL_VERSION    =3D 2.1 Mesa 7.4
> GL_VENDOR     =3D 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....
>=20
> In Ogre3D, the failing code part is:
>=20
>     void GLSupport::initialiseExtensions(void)
>     {
>         // Set version string
>         const GLubyte* pcVer =3D 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 usel=
ess.=20
Is the && operator overloaded by any chance? That could cause the trouble.

Roland
--=20
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)

--aM3YZ0Iwxop3KEKx
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)

iEYEARECAAYFAkn4gpMACgkQEnfvsMMhpyV30gCfQBRbRpwKJCWdH7AMeBQoR8xd
CmUAn0YmZnRj/GjDrQzVIMvqK8fUV6SZ
=GcVT
-----END PGP SIGNATURE-----

--aM3YZ0Iwxop3KEKx--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090429163843.GB370>