Announcement

Collapse
No announcement yet.

Former AMD Developer: OpenGL Is Broken

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by ChrisXY View Post
    Why not simply compile all the shaders on first run, every time the driver version changes?
    Because:
    1. Bigger redistribution files.
    2. Added software complexity.
    3. Exposed shader source (important for some people).
    4. We can do better.

    Comment


    • Originally posted by mdias View Post
      Because:[*]Bigger redistribution files.
      A little bit of shader source code? Modern graphical intensive games are easily 15+ Gigabyte...

      Originally posted by mdias View Post
      [*]Added software complexity.
      I don't imagine it would take more than one isolated if block with a write to and a read from the config file and a loop... Maybe add a progress bar? Is this really significant in relation to everything else a modern game contains?

      Originally posted by mdias View Post
      [*]Exposed shader source (important for some people).
      More exposed than now? You can already print their code as they are fed to the compiler:
      Code:
      MESA_GLSL=dump
      Originally posted by mdias View Post
      [*]We can do better.
      Yes, with a proper vendor independent redistributable binary format but until then...

      Comment


      • Originally posted by Nille View Post
        Taxi thats not the point alone. The Problem is also that you have to do the whole compiling process at the first start. With a Bytecode you has only to compile for your hardware and save time.
        But you can't compile for all and every hardware (GPU) out there. If that would be the case we wouldn't need OpenGL nor DirectX, we would simply program the GPU directly.

        Originally posted by mdias View Post
        glProgramBinary? really!? have you even read about it? The binaries are hardware dependent! Good luck shipping your binary shaders with your games/apps.
        You completely misunderstood: The game should not ship with precompiled binaries but after it has compiles a shader for the first time (first run on the end-users hardware) it should save it to disk and then re-use it (AFAIK games like Serious Sam 3: BFE are doing that).
        A driver's job is to drive the hardware and expose it's functionality, not implement API specific work-arounds for it's mindless design!
        Good that we agree here. I was not talking about API specific workarounds, I was talking about workarounds for programs using the API in a bad way. Now please don't try to tell me windows GPU drivers don't have workarounds for almost every (AAA) DirectX game(/engine) out there...

        Comment


        • Originally posted by TAXI View Post
          But you can't compile for all and every hardware (GPU) out there. If that would be the case we wouldn't need OpenGL nor DirectX, we would simply program the GPU directly.
          Bytecode thats make it easier and faster do compile the shader.

          Comment


          • Well it looks like Apple is dumping OpenGL and has made their own rendering API so Linux will be on its own now.

            Ohh, lovely. Just what developers need... ten different APIs to target.

            Comment


            • Semi-off topic.

              Did apple just launched its own graphics API (something like mantle) or got it wrong??

              Comment


              • Originally posted by johnc View Post
                Well it looks like Apple is dumping OpenGL and has made their own rendering API so Linux will be on its own now.

                Ohh, lovely. Just what developers need... ten different APIs to target.
                Its limited to iPads, iPhones, and Apple TVs.

                Comment


                • Originally posted by Ericg View Post
                  Its limited to iPads, iPhones, and Apple TVs.
                  * for now

                  Comment


                  • I already have a vision of how "gaming" is going to unfold for Linux.

                    Linux will be getting the crappy last-order port with not much concern for performance or correctness. PS4, Mantle, DX, etc. will be prioritized of course and with the leftover time they'll throw something together for Linux... maybe.

                    Comment


                    • Originally posted by Ericg View Post
                      Its limited to iPads, iPhones, and Apple TVs.
                      In the spirit of Apple quite possibly they will "port" it next year to osx devices and then they'll make it the default 2D(?)/3D API. Today, most of the stuff they announced required you to have not only a mac but also ios devices, so as long as you're in the Appleverse you're fine.

                      Comment

                      Working...
                      X