Results 1 to 8 of 8

Thread: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

  1. #1
    Senior Member Regular Contributor
    Join Date
    Jul 2003
    Location
    London
    Posts
    163

    When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    One thing I don't understand (or 'another thing' Is that when a vendor makes drivers for their chip/graphic card and say thay say the drivers support OpenGL 1.4, does it mean that they have to support all the extensions (ARB) that are 'standard and in the core' ?
    (Why the heck are they still 'extensions' if they are in the core?
    Then, if they don't put a particular extension support in the driver and say your game engine uses an extensions that is not supported by the driver, will there be software emulation (like in a case of DirectX, me thinks, where if a feature is not available on hardware it can be software emulated, at least I think that how it is over there or do you have to rewrite your game engine, or part of it, so it doesn't use that feature?
    I promise this was the last question for tonight
    Thank you very much,
    Luke

  2. #2
    Senior Member Frequent Contributor
    Join Date
    Apr 2003
    Posts
    680

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    Everything that is above OpenGL 1.1 (I think) has to be an extension as microsoft refuses to update its OpenGL lib (another good reason for linux, this is up to date).

    If a program uses an extension that is not supported, it crashes (if not checking it properly), while others may be there but cause a fallback to software rendering because they are not supported by the hardware.

    But there is a silent agreement in the world of OpenGL programmers which extensions to use, and also, there are nearly only two chip manufacturers left, so in general, if you do not strictly use only ARB extension, there's an ATI way to do things and an NVIDIA way to do things, causing games like doom3 to have six or seven or even more rendering engines implemented, several ati, several nvidia (gf2, gf3+4, gf fx) and one or two arb ways.

  3. #3
    Senior Member Regular Contributor
    Join Date
    Jul 2003
    Location
    London
    Posts
    163

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    "Everything that is above OpenGL 1.1 (I think) has to be an extension as microsoft refuses to update its OpenGL lib (another good reason for linux, this is up to date)."

    Can't someone else update the OpenGL lib? They do it on Linux

    "If a program uses an extension that is not supported, it crashes (if not checking it properly), while others may be there but cause a fallback to software rendering because they are not supported by the hardware."

    But is this software rendering automatically done by OpenGL if it doesn't encounter the needed hardware, or does one have to implement it's own software renderer?

    "But there is a silent agreement in the world of OpenGL programmers which extensions to use, and also, there are nearly only two chip manufacturers left, so in general, if you do not strictly use only ARB extension, there's an ATI way to do things and an NVIDIA way to do things, causing games like doom3 to have six or seven or even more rendering engines implemented, several ati, several nvidia (gf2, gf3+4, gf fx) and one or two arb ways. "

    I see, so any OpenGL driver must implement all ARB extensions? Why do we still need a few engines for ATI or a few for NVidia? Do some NVidia cards support only certian extensions, while other cards more or other extensions?
    (This is confusing

    Where can I find out which cards support which extensions?

    Huge thanks Jan,
    Luke

  4. #4
    Senior Member Regular Contributor
    Join Date
    Apr 2001
    Posts
    340

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    Originally posted by BigShooter:
    Can't someone else update the OpenGL lib? They do it on Linux
    No. The OpenGL lib is part of the operating system, and Windows is not open source.

    Originally posted by BigShooter:
    I see, so any OpenGL driver must implement all ARB extensions? Why do we still need a few engines for ATI or a few for NVidia? Do some NVidia cards support only certian extensions, while other cards more or other extensions?

    Where can I find out which cards support which extensions?

    Huge thanks Jan,
    Luke
    No. An OpenGL driver is not required to support any extension. An OpenGL driver must implement all features of its core version (except the imaging subset which is an optional core feature). Usually, the interaction between extension and core goes like this : at a given moment, a new extension is defined by one or more hardware vendors. If the extension proves to be well defined, usefull, widely supported and used by the software community, it can be promoted to core feature in the next revision of OpenGL. Example : OpenGL 1.1 (core) does not support 3D textures. At some point, an extension was defined to enable applications to use 3D textures. 3D textures were later integrated into the core in OpenGL 1.2. This means that :
    1/ any OpenGL driver with version >= 1.2 _must_ support 3D textures
    2/ an OpenGL 1.1 driver _can_ support 3D textures through an extension.

  5. #5

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    of course one does not have to use the standard OpenGL libs provided with various programming packages (MSVC, Dev-C++, LCC-Win32, Delphi, ...) for C/C++ programmers ExtGL by Lev Povalahev is a great option to use OpenGL functionality up to Version 1.4 (if your video card driver supports it).
    For Delphi one may use the OpenGL.pas of the Ogl engine (http://www.martinscad.cjb.net) which does also support OpenGL 1.4 functionality (however, only the core functions are supported - no extensions).

    stay tuned and have fun

    mw

  6. #6
    Super Moderator OpenGL Guru imported_dorbie's Avatar
    Join Date
    Jul 2000
    Location
    Bay Area, CA, USA
    Posts
    3,966

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    Extensions are not in the core by definition. ARB extensions are optional parts that a vendor does not need to support to claim 1.x support. It is a way to promote a feature to be almost core but placate vendors who might otherwise vote it down through pure self interest. I don't think it's really different from an EXT although there may be some distinction there like the function entry points getting put in maintained versions of gl.h (not sure about this I'm just speculating). Oh and it'll get covered in the Red Book etc.

    Any practical difference is minor.

  7. #7
    Senior Member Regular Contributor
    Join Date
    Jun 2003
    Posts
    177

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    ARB extensions are optional parts that a vendor does not need to support to claim 1.x support.
    That's not quite true. Extensions (ARB or otherwise) which got promoted to the core must be exposed in some way for the driver to claim 1.x compatibility. That is, if the driver claims it is compliant with GL 1.4, then all of the non-optional GL 1.4 API must be available, either directly or via the extension mechanism.

    For example, on Windows, glSecondaryColor3f is available via the extension mechanism on GL 1.4 implementations. Notice that the function call doesn't have an ARB or EXT suffix.

    For reference, the only optional part of GL 1.4 is ARB_imaging.

  8. #8
    Senior Member OpenGL Guru
    Join Date
    Feb 2000
    Location
    Sweden
    Posts
    2,978

    Re: When vendor makes drivers '1.4 do they have to support all the standard extensions'?

    Extensions that are promoted to the core are no longer extensions (well, they still exists as extensions, but the extension itself is not required), since they are in the core. The fact that you, on Windows, have to use the extension mechanism to get them is a different story. Don't confuse 1.2+ core features with extensions just because you have to load them yourself.

    So no extensions are required to be supported, only core features.

Similar Threads

  1. Replies: 7
    Last Post: 10-31-2012, 11:50 AM
  2. Future non-vendor specific extensions...
    By Corrail in forum OpenGL: General
    Replies: 4
    Last Post: 03-12-2004, 01:43 AM
  3. Replies: 0
    Last Post: 03-14-2002, 08:03 PM
  4. OpenGL Extensions by Vendor by Driver
    By Thaellin in forum OpenGL: Basic Coding
    Replies: 3
    Last Post: 01-17-2001, 06:55 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Proudly hosted by Digital Ocean