Re: OpenGL and hardware acceleration

Dave Astle <[email protected]> Tue, 08 Jul 2008 18:35:24 -0800
Newsgroups gmane.games.devel.opengl
Organization Fat City Network Services, San Diego, California
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------010205010604050008070906
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

The thing about OpenGL is that it doesn't actually specify that anything 
has to be accelerated, nor does it include APIs to query whether 
specific features are implemented in hardware. So something that is 
hardware accelerated in one implementation might not be in another, and 
the only way to know for sure is to do performance profiling. You're not 
going to be able to glean anything useful from Mesa when it comes to 
this. In fact, having access to source code from several commercial 
OpenGL drivers, I'd caution against drawing any conclusions about driver 
internals from what you see in Mesa.

If you really want to understand the internal workings of OpenGL, I'd 
recommend the spec itself, as well as whitepapers from NVIDIA and ATI.

*Dave Astle*
Staff Engineer, Advanced Content Group, QUALCOMM
Executive Director, GameDev.net <http://www.gamedev.net/>
Four-time author, Cengage Learning <http://glbook.gamedev.net>



Mohan Parthasarathy wrote:
> Hi,
>
> Yes, i do have a graphics card and the acceleration is also working. 
> When you download mesa, you also get
> a open source driver with it. I was trying to understand more about 
> the internals on the driver acceleration e.g.,
> what openGL APIs are accelerated etc. ?
>
> -mohan
>
>
> On Tue, Jul 8, 2008 at 4:25 PM, Gernot Ziegler <[email protected]> wrote:
>
>     Hej Mohan,
>
>     Mesa is a purely software-based driver.
>
>     Do you have any graphics card in your system? In that case, there
>     should be an OpenGL-capable driver.
>
>     I suppose you use Linux? If yes: Use "glxinfo" to verify which
>     driver is running on your system.
>
>
>         I am new to OpenGL. I have been reading books and trying out
>         different
>         programs. I downloaded the latest
>         Mesa source code to understand more on what operations are
>         accelerated by
>         the driver. Some of them are
>         obvious where the driver initializes the functions in
>         ctx->Driver.XXX. For
>         some others, it is hard to follow.
>         For example, i could not find whether glVertex2f() is
>         accelerated or not. It
>         is hard to find whether the software
>         fallback or the driver function is called. Is there a good
>         documentation for
>         the 3D driver interfaces with the
>         Mesa framework so that one can understand the full flow of the
>         OpenGL (from
>         App -> driver) ? I searched but
>         could not find a document on this. Any help would be appreciated.
>
>         thanks
>         mohan
>
>
>     Servus,
>      Gernot
>
>     GPU. 3D Vision. Europe. Future. Now.
>     Drop by: www.mpi-sb.mpg.de/~gziegler
>     <http://www.mpi-sb.mpg.de/%7Egziegler> - www.geofront.eu
>
>     ----- FAQ and OpenGL Resources at:
>      http://www.geocities.com/SiliconValley/Hills/9956/OpenGL
>
>     -- 
>     Author: Gernot Ziegler
>      INET: [email protected]
>
>     Fat City Hosting, San Diego, California -- http://www.fatcity.com
>     ---------------------------------------------------------------------
>     To REMOVE yourself from this mailing list, send an E-Mail message
>     to: [email protected] <mailto:[email protected]> (note EXACT
>     spelling of 'ListGuru') and in
>     the message BODY, include a line containing: UNSUB OPENGL-GAMEDEV-L
>     (or the name of mailing list you want to be removed from).  You may
>     also send the HELP command for other information (like subscribing).
>
>

--------------010205010604050008070906
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="-1"><font face="Verdana">The thing about OpenGL is that it
doesn't actually specify that anything has to be accelerated, nor does
it include APIs to query whether specific features are implemented in
hardware. So something that is hardware accelerated in one
implementation might not be in another, and the only way to know for
sure is to do performance profiling. You're not going to be able to
glean anything useful from Mesa when it comes to this. In fact, having
access to source code from several commercial OpenGL drivers, I'd
caution against drawing any conclusions about driver internals from
what you see in Mesa.<br>
<br>
If you really want to understand the internal workings of OpenGL, I'd
recommend the spec itself, as well as whitepapers from NVIDIA and ATI.<br>
</font></font>
<div class="moz-signature">
<p><b>Dave Astle</b>
<br>
Staff Engineer, Advanced Content Group, QUALCOMM
<br>
Executive Director, <a href="http://www.gamedev.net/">GameDev.net</a>
<br>
Four-time author, <a href="http://glbook.gamedev.net">Cengage Learning</a>
</p>
</div>
<br>
<br>
Mohan Parthasarathy wrote:
<blockquote cite="mid:[email protected]"
 type="cite">Hi,<br>
  <br>
Yes, i do have a graphics card and the acceleration is also working.
When you download mesa, you also get<br>
a open source driver with it. I was trying to understand more about the
internals on the driver acceleration e.g.,<br>
what openGL APIs are accelerated etc. ? <br>
  <br>
-mohan<br>
  <br>
  <br>
  <div class="gmail_quote">On Tue, Jul 8, 2008 at 4:25 PM, Gernot
Ziegler <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a> wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hej
Mohan,<br>
    <br>
Mesa is a purely software-based driver.<br>
    <br>
Do you have any graphics card in your system? In that case, there
should be an OpenGL-capable driver.<br>
    <br>
I suppose you use Linux? If yes: Use "glxinfo" to verify which driver
is running on your system.
    <div>
    <div class="Wj3C7c"><br>
    <br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am new to OpenGL. I have been reading books and trying out different<br>
programs. I downloaded the latest<br>
Mesa source code to understand more on what operations are accelerated
by<br>
the driver. Some of them are<br>
obvious where the driver initializes the functions in
ctx-&gt;Driver.XXX. For<br>
some others, it is hard to follow.<br>
For example, i could not find whether glVertex2f() is accelerated or
not. It<br>
is hard to find whether the software<br>
fallback or the driver function is called. Is there a good
documentation for<br>
the 3D driver interfaces with the<br>
Mesa framework so that one can understand the full flow of the OpenGL
(from<br>
App -&gt; driver) ? I searched but<br>
could not find a document on this. Any help would be appreciated.<br>
      <br>
thanks<br>
mohan<br>
      <br>
    </blockquote>
    <br>
    </div>
    </div>
Servus,<br>
&nbsp;Gernot<br>
    <br>
GPU. 3D Vision. Europe. Future. Now.<br>
Drop by: <a moz-do-not-send="true"
 href="http://www.mpi-sb.mpg.de/%7Egziegler" target="_blank">www.mpi-sb.mpg.de/~gziegler</a>
- <a class="moz-txt-link-abbreviated" href="http://www.geofront.eu">www.geofront.eu</a><br>
    <br>
----- FAQ and OpenGL Resources at:<br>
&nbsp;<a moz-do-not-send="true"
 href="http://www.geocities.com/SiliconValley/Hills/9956/OpenGL"
 target="_blank">http://www.geocities.com/SiliconValley/Hills/9956/OpenGL</a><br>
    <br>
-- <br>
Author: Gernot Ziegler<br>
&nbsp;INET: <a class="moz-txt-link-abbreviated" href="mailto:[email protected]">[email protected]</a><br>
    <br>
Fat City Hosting, San Diego, California -- <a moz-do-not-send="true"
 href="http://www.fatcity.com" target="_blank">http://www.fatcity.com</a><br>
---------------------------------------------------------------------<br>
To REMOVE yourself from this mailing list, send an E-Mail message<br>
to: <a moz-do-not-send="true" href="mailto:[email protected]"
 target="_blank">[email protected]</a> (note EXACT spelling of
'ListGuru') and in<br>
the message BODY, include a line containing: UNSUB OPENGL-GAMEDEV-L<br>
(or the name of mailing list you want to be removed from). &nbsp;You may<br>
also send the HELP command for other information (like subscribing).<br>
  </blockquote>
  </div>
  <br>
</blockquote>
</body>
</html>

--------------010205010604050008070906--
----- 
FAQ and OpenGL Resources at:
  http://www.geocities.com/SiliconValley/Hills/9956/OpenGL

-- 
Author: Dave Astle
  INET: [email protected]

Fat City Hosting, San Diego, California -- http://www.fatcity.com
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [email protected] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB OPENGL-GAMEDEV-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).