gpu or cpu and glPointSizePointer

I recently downloaded a demo of
NV_point_sprite in order to check it out for optimizing my particle systems, the demo ran at approx 1 fps, so i assume it was running in software mode, checking out the spec verified this

{ from the extension spec }
However, the extension is only hardware-accelerated on the GeForce3
and GeForce4 Ti platforms. In addition, there are restrictions on
the cases that are accelerated on the GeForce3.

It would therefore be very usefull to have an extension wereby you could query if an extension will run in software or hardware.

possibly along the lines of


where param 2 would return a constant of


also a way to present an array of sizes for the points would be usefull this would work the same as all other gl__pointer procedures.

Any thoughts


Querying hardware or software has been discussed lots of times before. OpenGL have no sense of hardware or software, so asking makes no sense.

There are problems with asking this. A feature doesn’t really have to be either CPU only of GPU only, it can be a mixture. For example, software vertex processing and hardware rasterization. Combinations of features can force software rendering, even if the individual features are supported by the hardware. And even individual features can differ depending on the argument used to call the function. How is all this supposed to be treated?

There are also problems interpreting the result. My GF2MX driver supports vertex programs in software. If I use it very little in my program, I don’t have to see any huge performance drop, so there’s no problem using it. When I start increasing the amount of vertices that has to be processed, my program will go slow quite fast. So just because it’s software doesn’t mean it’s useless. It’s usefull sometimes, and sometimes not, depending on what I need. In the end, it’s the speed that matters, not whether it’s hardware or software.

[This message has been edited by Bob (edited 01-08-2003).]

Also, you can’t really ask if a “feature” is software or hardware because sometimes a “feature” can be half software and half hardware. For instance, logical operation (glLogicOp) is accelerated in hardware for GL_COPY and done is software for almost all other cases.

It also introduces the concept of “feature granularity” : can you test hw/sw for extensions only or for OpenGL core features too ? can you just test the complete feature, or may you test all cases of a given feature ?