4 ms·
If they only say their driver supports the feature, that technically is not lying, is it? And what do you expect the driver to say instead? Also, for graphics
by Someone 3y ago
If they only say their driver supports the feature, that technically is not lying, is it?
And what do you expect the driver to say instead?
Also, for graphics cards, I expect every feature requires some work from the driver. It’s not as if OpenGL is a hardware interface.
- pjmlp 3y agoIt is, because the drivers are only supposed to tell about what is actually supported on the hardware, via the capabilities queries. A critical feature for game engines to actually decide what features to use, otherwise instead of 60 FPS, you might get single digit FPS.
- Someone 3y agoSo, educate me. https://www.saschawillems.de/creations/opengl-hardware-capability-viewer https://www.saschawillems.de/creations/opengl-hardware-capab... claims: “The “OpenGL hardware capability viewer” (short “glCapsViewer) a multi-platform client-side application that reads out all important hardware capabilities of the current OpenGL-implementation present on your system” Reading its source (https://github.com/SaschaWillems/glCapsViewer/blob/85ee6ab685174f7223cf726e7b1f878d6cac3984/capsGroup.cpp#L34 https://github.com/SaschaWillems/glCapsViewer/blob/85ee6ab68...), I get the impression it does that by calling either of: - glGetIntegerv - glGetInteger64v - glGetIntegeri_v - glGetProgramivARB - glGetFloatv - glGetString I think https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet.xhtml https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet.... documents all those functions. I don’t see any occurrence of ‘hardware’ on that page. Looking at the data collected by that tool (example: http://opengl.gpuinfo.org/displayreport.php?id=10016 http://opengl.gpuinfo.org/displayreport.php?id=10016), and checking some of the capabilities listed, I can find all I looked at on that page (https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet.xhtml https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGet....), so I don’t think that tool uses other methods to obtain information (I didn’t read its full source code, though) Also: 1) https://registry.khronos.org/OpenGL/specs/gl/glspec46.core.pdf https://registry.khronos.org/OpenGL/specs/gl/glspec46.core.p... doesn’t mention ‘capabilities’, doesn’t mention ‘hardware’ much, and even says “While an implementation of OpenGL may be hardware dependent, the Specification is independent of any specific hardware on which it is implemented. We are concerned with the state of graphics hardware only when it corresponds precisely to GL state.” 2) https://community.khronos.org/t/determining-hardware-opengl-capabilities/20526/4 https://community.khronos.org/t/determining-hardware-opengl-... asks “I am trying to find a way for my program to determine (during run time) whether the graphics card supports OpenGL hardware acceleration, and how much RAM is installed on the graphics card” and https://community.khronos.org/t/determining-hardware-opengl-capabilities/20526/4 https://community.khronos.org/t/determining-hardware-opengl-... replies: “Sorry, there’s no way in OpenGL to do what you want. You’ll just have to trust the driver to do the right thing.” Of course, that last reply may be incorrect, but from what I found, I think it is correct. So, what’s going on? Is the spec unclear about the glGet functions? Am I overlooking a call that _does_ return hardware info? As I said: educate me. (And of course, “implemented in hardware” does not guarantee anything about performance.)
- pjmlp 3y agoThat is the thing Intel drivers did not do the right thing, versus what AMD, NVidia, and all now gone 3D vendors.