Announcement

Collapse
No announcement yet.

Assembly Shader Rework Hitting Mesa Today

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

  • Assembly Shader Rework Hitting Mesa Today

    Phoronix: Assembly Shader Rework Hitting Mesa Today

    Intel's Ian Romanick began last year working on a new GLSL compiler for Mesa, but those plans were abandoned due to a lack of time and the overwhelming challenge. Instead, Ian began focusing on optimizing the IR (Intermediate Representation) used by Mesa in its OpenGL support and then generating the final machine code. Ian has been working in a branch of Mesa with what he calls the "Assembly Shader Rework" and rewriting the ARB program parser and adding in support for NVIDIA layered extensions...

    http://www.phoronix.com/vr.php?view=NzQ2OQ

  • #2
    Great... can't wait for Ubuntu 10.04 or even better 10.10

    Comment


    • #3
      Originally posted by bulletxt View Post
      Great... can't wait for Ubuntu 10.04 or even better 10.10
      If not, just install from git.

      Comment


      • #4
        "One of our internal tests runs about 89,000 vertex programs. This test takes about 30 minutes (1,800 seconds) on current Mesa master. On the new
        code it takes about 25 seconds."


        Wow, talk about speed up!

        Comment


        • #5
          Originally posted by whizse View Post
          "One of our internal tests runs about 89,000 vertex programs. This test takes about 30 minutes (1,800 seconds) on current Mesa master. On the new
          code it takes about 25 seconds."


          Wow, talk about speed up!
          Well, it's not like it was fast before As they fix the code and implement needed features, the speed gets to acceptable levels. It's starting to come together at last.

          Comment


          • #6
            Something keep escaping from me...

            Gallium will be used to expose a simple API to graphic card drivers, Mesa will be the softawre-side API (as for now). So the IR Ian have rework is where/what ?

            A representation computed by mesa after the softaware call and send to the driver for machine code generation ?

            Comment


            • #7
              Just merged

              The merge was just done:
              http://cgit.freedesktop.org/mesa/mes...8040ff6bf6737f

              Comment


              • #8
                Originally posted by Xheyther View Post
                Something keep escaping from me...

                Gallium will be used to expose a simple API to graphic card drivers, Mesa will be the softawre-side API (as for now). So the IR Ian have rework is where/what ?

                A representation computed by mesa after the softaware call and send to the driver for machine code generation ?
                GL1-2 will still be handled through mesa(for now anyway) with gallium's mesa state tracker

                Comment


                • #9
                  mesa fails to install here (it compiled fine):

                  * QA Notice: Package has poor programming practices which may compile
                  * fine but exhibit random runtime failures.
                  * shader/hash_table.c:71: warning: implicit declaration of function ‘_mesa_malloc’
                  * shader/hash_table.c:91: warning: implicit declaration of function ‘_mesa_free’
                  * shader/hash_table.c:140: warning: implicit declaration of function ‘_mesa_calloc’


                  *
                  * QA Notice: Package has poor programming practices which may compile
                  * but will almost certainly crash on 64bit architectures.
                  *
                  * Function `_mesa_calloc' implicitly converted to pointer at shader/hash_table.c:140

                  *
                  * Please file a bug about this at http://bugs.gentoo.org/
                  * with the maintaining herd of the package.
                  *
                  *
                  * ERROR: media-libs/mesa-9999 failed.
                  * Call stack:
                  * misc-functions.sh, line 730: Called install_qa_check
                  * misc-functions.sh, line 422: Called die
                  * The specific snippet of code:
                  * die "install aborted due to" \
                  * The die message:
                  * install aborted due to poor programming practices shown above
                  just to let you devs know about this "problem"

                  this way perhaps crashes might be prevented right from the start ...

                  yellow == warning, but merges / installs

                  red == warning & blocker, won't merge / install

                  thanks for the merge (and the hard work contained in it)

                  Comment


                  • #10
                    Heh, it seems to have completely broken Doom 3. I mean, the game is supposed to be dark, but like this?



                    Guess I will be filing a few of those pesky regression bugs...

                    Comment


                    • #11
                      the flurry-screensaver from xscreensaver seems to work much better now !

                      Comment


                      • #12
                        Originally posted by whizse View Post
                        Heh, it seems to have completely broken Doom 3. I mean, the game is supposed to be dark, but like this?



                        Guess I will be filing a few of those pesky regression bugs...
                        What verson of opengl does that require?

                        Comment


                        • #13
                          Originally posted by kernelOfTruth View Post
                          mesa fails to install here (it compiled fine):



                          just to let you devs know about this "problem"

                          this way perhaps crashes might be prevented right from the start ...

                          yellow == warning, but merges / installs

                          red == warning & blocker, won't merge / install

                          thanks for the merge (and the hard work contained in it)
                          If you actually have something to report, and don't think that it's because of your CFLAGS, then file a bug.

                          Comment


                          • #14
                            Originally posted by MostAwesomeDude View Post
                            If you actually have something to report, and don't think that it's because of your CFLAGS, then file a bug.
                            It's just that you need to include main/imports.h in src/mesa/shader/hash_table.c:
                            Code:
                            --- src/mesa/shader/hash_table.c.orig	2009-08-22 11:20:37.616148202 +0200
                            +++ src/mesa/shader/hash_table.c	2009-08-22 11:21:15.437148454 +0200
                            @@ -35,6 +35,8 @@
                             #include "main/simple_list.h"
                             #include "hash_table.h"
                             
                            +#include "main/imports.h"
                            +
                             struct node {
                                struct node *next;
                                struct node *prev;

                            Comment


                            • #15
                              Oh yes... Ubuntu 9.10 is moving to Mesa 7.6

                              Packages for karmic should hit the mirrors soon! Hopefully they will patch the R6xx 3D stuff in the Ubuntu kernel because they have activated the R6xx driver in Mesa...

                              Comment

                              Working...
                              X