Announcement

Collapse
No announcement yet.

Mesa Makes More Strides Towards OpenGL 3.x Support

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

  • Mesa Makes More Strides Towards OpenGL 3.x Support

    Phoronix: Mesa Makes More Strides Towards OpenGL 3.x Support

    The OpenGL 3.0 specification was announced in August of 2007 and has already been succeeded by OpenGL 3.1, OpenGL 3.2, and then earlier this year came OpenGL 3.3 and OpenGL 4.0. While the 3.0 revision to this industry standard graphics API has been around for nearly three years, it's still not fully supported by the open-source Mesa graphics stack. Progress though is being made...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    There's also the recent work by Zack Rusin which implements ARB_geometry_shader4.


    Things seems to be moving along pretty well on the OGL3 front.

    Comment


    • #3
      And some people say we don't need binary blobs.

      Thank you, NVIDIA, for providing us with decent drivers with full OpenGL 3.3 support (I'm not sure about 4.0 - I've never owned GTX 4xx cards).

      Comment


      • #4
        VMware seems to invest a lot in it, and I suppose they want to use it for some kind of virtualization. But AFAIK they mostly contribute to the core and the software drivers. It seems a bit of a gamble to me to rely on others to produce the hardware drivers. Or perhaps they are planning to run their virtualization on softpipe or proprietary drivers. I'm a bit in the dark what their plans exactly are.

        Comment


        • #5
          Originally posted by birdie View Post
          And some people say we don't need binary blobs.

          Thank you, NVIDIA, for providing us with decent drivers with full OpenGL 3.3 support (I'm not sure about 4.0 - I've never owned GTX 4xx cards).
          And I bet you've never ran anything that used those 3.3 extensions (except for perhaps Unigine).

          I'll start worrying about 3.x and 4.0 support when I start trying to run cutting edge games on Linux that don't have a 2.x fallback. At the moment there is no rush to implement these APIs because no-one is using them anyway. These cutting edge games don't yet exist, and even if they did it would be financial suicide to not code in a fallback.

          Remember DX10? It was only supported on Vista but everyone still used XP, so the games companies continued to use DX9 OR fallback to DX9 if DX10 wasn't present. I'm pretty sure that most games still fallback to DX9. It's the same for GL, if a large percentage of users are still running GL 2.x drivers, then anyone developing OpenGL will code in a fallback if GL 3.x isn't available.

          Of course, it would be great to boast this support in MESA, and of course some of the new features can provide performance boosts, or better rendering quality, but the open drivers currently have other performance issues that negate any improvements they would bring. 3.x and 4.0 support would be nice to have, but it's far from urgent.

          Comment


          • #6
            Thanks for all the work, and I'm looking forward to having an open implementation of the OpenGL 3 standard soon. Only a few extensions to go!

            Comment


            • #7
              Originally posted by pingufunkybeat View Post
              Thanks for all the work, and I'm looking forward to having an open implementation of the OpenGL 3 standard soon. Only a few extensions to go!
              Yeah I would like to think everyone for their help with the project. But it sounds like there is MUCH more to get done than just a few extensions to go.

              Comment


              • #8
                Originally posted by Kazade View Post
                And I bet you've never ran anything that used those 3.3 extensions (except for perhaps Unigine).

                I'll start worrying about 3.x and 4.0 support when I start trying to run cutting edge games on Linux that don't have a 2.x fallback. At the moment there is no rush to implement these APIs because no-one is using them anyway. These cutting edge games don't yet exist, and even if they did it would be financial suicide to not code in a fallback.

                Remember DX10? It was only supported on Vista but everyone still used XP, so the games companies continued to use DX9 OR fallback to DX9 if DX10 wasn't present. I'm pretty sure that most games still fallback to DX9. It's the same for GL, if a large percentage of users are still running GL 2.x drivers, then anyone developing OpenGL will code in a fallback if GL 3.x isn't available.

                Of course, it would be great to boast this support in MESA, and of course some of the new features can provide performance boosts, or better rendering quality, but the open drivers currently have other performance issues that negate any improvements they would bring. 3.x and 4.0 support would be nice to have, but it's far from urgent.
                I never thought about it like that until you made your post.

                I am still happy to hear of this development because I am not sure if id Tech 5 will be using OpenGL3 or not.

                Comment


                • #9
                  From the git progress file (for OpenGL 3.0):

                  GLSL changes (GL_EXT_gpu_shader4, etc) not started
                  Conditional rendering (GL_NV_conditional_render) DONE (swrast & softpipe)
                  Map buffer subranges (GL_ARB_map_buffer_range) DONE
                  Float textures, renderbuffers some infrastructure done
                  (incl. GL_EXT_packed_float, GL_EXT_shared_exponent)
                  Framebuffer objects (GL_EXT_framebuffer_object) DONE
                  Half-float some infrastructure done
                  Multisample blit DONE
                  Non-normalized Integer texture/framebuffer formats not started
                  1D/2D Texture arrays core Mesa, swrast done
                  Packed depth/stencil formats DONE
                  Per-buffer blend and masks (GL_EXT_draw_buffers2) DONE
                  GL_EXT_texture_compression_rgtc not started
                  Red and red/green texture formats Ian?
                  Transform feedback (GL_EXT_transform_feedback) ~50% done
                  glBindFragDataLocation, glGetFragDataLocation,
                  glBindBufferRange, glBindBufferBase commands
                  Vertex array objects (GL_APPLE_vertex_array_object) DONE
                  sRGB framebuffer format (GL_EXT_framebuffer_sRGB) not started
                  glClearBuffer commands DONE, except for dispatch
                  glGetStringi command DONE, except for dispatch
                  glTexParameterI, glGetTexParameterI commands DONE, except for dispatch
                  glVertexAttribI commands not started
                  GL_EXT_gpu_shader4 seems to be in the works.

                  The rest are certainly not all trivial changes, but you can see that progress is being made.

                  Anyway, the biggest change AFAIK is from OpenGL 2 -> OpenGL 3. The rest is not too huge.

                  Comment


                  • #10
                    Originally posted by castlefox View Post
                    I never thought about it like that until you made your post.

                    I am still happy to hear of this development because I am not sure if id Tech 5 will be using OpenGL3 or not.
                    It was still using 2.1 about a year ago, not sure if there's been any official word since? I guess it wouldn't be surprising if it had different renderpaths and supported OpenGL 2/3/4...

                    Comment

                    Working...
                    X