Announcement

Collapse
No announcement yet.

GLAMOR Radeon Shows 2D Acceleration Promise

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

  • GLAMOR Radeon Shows 2D Acceleration Promise

    Phoronix: GLAMOR Radeon Shows 2D Acceleration Promise

    It looks like, thanks in part to an existing shoddy EXA 2D acceleration implementation, that the GLAMOR-based Radeon acceleration support for xf86-video-ati may work out quite well...

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

  • #2
    Please AMD, entice Chris Wilson away!

    Comment


    • #3
      (Nicaragua is in America)

      There is no need to return...

      Originally posted by phoronix View Post
      Phoronix: GLAMOR Radeon Shows 2D Acceleration Promise

      It looks like, thanks in part to an existing shoddy EXA 2D acceleration implementation, that the GLAMOR-based Radeon acceleration support for xf86-video-ati may work out quite well...

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

      Comment


      • #4
        If GLAMOR is really that much better, it should be extended for all chips within the r600g driver at some point. Not just SI.

        Thanks Chris!

        Comment


        • #5
          Originally posted by halfmanhalfamazing View Post
          If GLAMOR is really that much better, it should be extended for all chips within the r600g driver at some point. Not just SI.

          Thanks Chris!
          According to what's on his blog, he was already testing on a Radeon HD5770. The patches were to the xf86-video-ati driver, and they don't seem chip-specific.

          From radeon_accel.c:
          Code:
          if (info->directRenderingEnabled) {
          	if (info->use_glamor) {
          	    if (!radeon_glamor_init(pScreen)) {
          		info->use_glamor = FALSE;
          		return FALSE;
          	    }
          	} else if (info->ChipFamily >= CHIP_FAMILY_CEDAR) {
          	    if (!EVERGREENDrawInit(pScreen))
          		return FALSE;
          	} else
          	    if (info->ChipFamily >= CHIP_FAMILY_R600) {
          		if (!R600DrawInit(pScreen))
          		    return FALSE;
          	    } else {
          		if (!RADEONDrawInit(pScreen))
          		    return FALSE;
          	    }
              }
          From what I was reading in the patches, you just need glamour >= 0.3.0, and a new git pull of the xf86-video-ati driver (xorg-edgers will probably be along shortly...).
          Last edited by Veerappan; 07-12-2012, 09:05 AM.

          Comment


          • #6
            Originally posted by halfmanhalfamazing View Post
            If GLAMOR is really that much better, it should be extended for all chips within the r600g driver at some point. Not just SI.
            It already works with all radeon chips with a 3D driver that supports shaders (basically R300+).

            Comment


            • #7
              uhm

              So Intel has come and done some work to make their competitor's GPU perform better in Linux? I realize that It's not really Intel, but just a single Intel dev's hobby project... but I can't help but wonder at AMD's relative rate of progress at this point .

              Comment


              • #8
                Originally posted by Rodrigo View Post
                There is no need to return...
                I saw what you did there.

                Originally posted by hiryu View Post
                So Intel has come and done some work to make their competitor's GPU perform better in Linux? I realize that It's not really Intel, but just a single Intel dev's hobby project... but I can't help but wonder at AMD's relative rate of progress at this point .
                Hey, cooperation is always good. Intel has acceleration that turned out to be not very spectacular, but why not give it to everyone, including AMD, if they have even worse acceleration. Why AMD has such poor acceleration in the first place is another matter, however...

                Comment


                • #9
                  Originally posted by Veerappan View Post
                  From what I was reading in the patches, you just need glamour >= 0.3.0, and a new git pull of the xf86-video-ati driver (xorg-edgers will probably be along shortly...).
                  xf86-video-ati has a new configure flag: --enable-glamor

                  But you can't use xorg git as of now:
                  Code:
                  make  all-recursive
                  make[1]: Entering directory `/home/chris/build/glamor-git/src/glamor-build'
                  Making all in src
                  make[2]: Entering directory `/home/chris/build/glamor-git/src/glamor-build/src'
                    CC       glamor.lo
                    CC       glamor_copyarea.lo
                    CC       glamor_copywindow.lo
                    CC       glamor_core.lo
                    CC       glamor_fill.lo
                  In file included from glamor_copywindow.c:24:0:
                  glamor_priv.h:551:11: warning: redundant redeclaration of 'glamor_create_pixmap' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_copywindow.c:24:
                  glamor.h:144:28: note: previous declaration of 'glamor_create_pixmap' was here
                  In file included from glamor_copywindow.c:24:0:
                  glamor_priv.h:570:6: warning: redundant redeclaration of 'glamor_init_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:566:6: note: previous declaration of 'glamor_init_pixmap_fbo' was here
                  glamor_priv.h:571:6: warning: redundant redeclaration of 'glamor_fini_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:567:6: note: previous declaration of 'glamor_fini_pixmap_fbo' was here
                  glamor_priv.h:605:6: warning: redundant redeclaration of 'glamor_create_gc' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_copywindow.c:24:
                  glamor.h:233:22: note: previous declaration of 'glamor_create_gc' was here
                  In file included from glamor_copywindow.c:24:0:
                  glamor_priv.h:685:6: warning: redundant redeclaration of 'glamor_glyph_unrealize' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_copywindow.c:24:
                  glamor.h:300:23: note: previous declaration of 'glamor_glyph_unrealize' was here
                  In file included from glamor_copywindow.c:24:0:
                  glamor_priv.h:950:2: warning: redundant redeclaration of 'glamor_upload_picture_to_texture' [-Wredundant-decls]
                  glamor_priv.h:924:2: note: previous declaration of 'glamor_upload_picture_to_texture' was here
                  glamor_priv.h:954:1: warning: redundant redeclaration of 'glamor_fixup_pixmap_priv' [-Wredundant-decls]
                  glamor_priv.h:578:6: note: previous declaration of 'glamor_fixup_pixmap_priv' was here
                  In file included from glamor_priv.h:1007:0,
                                   from glamor_copywindow.c:24:
                  glamor_utils.h:801:0: warning: "ARRAY_SIZE" redefined [enabled by default]
                  In file included from /usr/include/xorg/privates.h:152:0,
                                   from /usr/include/xorg/cursor.h:53,
                                   from /usr/include/xorg/scrnintstr.h:53,
                                   from glamor.h:32,
                                   from glamor_priv.h:40,
                                   from glamor_copywindow.c:24:
                  /usr/include/xorg/dix.h:67:0: note: this is the location of the previous definition
                  In file included from glamor_core.c:36:0:
                  glamor_priv.h:551:11: warning: redundant redeclaration of 'glamor_create_pixmap' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_core.c:36:
                  glamor.h:144:28: note: previous declaration of 'glamor_create_pixmap' was here
                  In file included from glamor_core.c:36:0:
                  glamor_priv.h:570:6: warning: redundant redeclaration of 'glamor_init_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:566:6: note: previous declaration of 'glamor_init_pixmap_fbo' was here
                  glamor_priv.h:571:6: warning: redundant redeclaration of 'glamor_fini_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:567:6: note: previous declaration of 'glamor_fini_pixmap_fbo' was here
                  glamor_priv.h:605:6: warning: redundant redeclaration of 'glamor_create_gc' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_core.c:36:
                  glamor.h:233:22: note: previous declaration of 'glamor_create_gc' was here
                  In file included from glamor_core.c:36:0:
                  glamor_priv.h:685:6: warning: redundant redeclaration of 'glamor_glyph_unrealize' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_core.c:36:
                  glamor.h:300:23: note: previous declaration of 'glamor_glyph_unrealize' was here
                  In file included from glamor_core.c:36:0:
                  glamor_priv.h:950:2: warning: redundant redeclaration of 'glamor_upload_picture_to_texture' [-Wredundant-decls]
                  glamor_priv.h:924:2: note: previous declaration of 'glamor_upload_picture_to_texture' was here
                  glamor_priv.h:954:1: warning: redundant redeclaration of 'glamor_fixup_pixmap_priv' [-Wredundant-decls]
                  glamor_priv.h:578:6: note: previous declaration of 'glamor_fixup_pixmap_priv' was here
                  In file included from glamor_priv.h:1007:0,
                                   from glamor_core.c:36:
                  glamor_utils.h:801:0: warning: "ARRAY_SIZE" redefined [enabled by default]
                  In file included from /usr/include/xorg/privates.h:152:0,
                                   from /usr/include/xorg/cursor.h:53,
                                   from /usr/include/xorg/scrnintstr.h:53,
                                   from glamor.h:32,
                                   from glamor_priv.h:40,
                                   from glamor_core.c:36:
                  /usr/include/xorg/dix.h:67:0: note: this is the location of the previous definition
                  In file included from glamor_fill.c:28:0:
                  glamor_priv.h:551:11: warning: redundant redeclaration of 'glamor_create_pixmap' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_fill.c:28:
                  glamor.h:144:28: note: previous declaration of 'glamor_create_pixmap' was here
                  In file included from glamor_fill.c:28:0:
                  glamor_priv.h:570:6: warning: redundant redeclaration of 'glamor_init_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:566:6: note: previous declaration of 'glamor_init_pixmap_fbo' was here
                  glamor_priv.h:571:6: warning: redundant redeclaration of 'glamor_fini_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:567:6: note: previous declaration of 'glamor_fini_pixmap_fbo' was here
                  glamor_priv.h:605:6: warning: redundant redeclaration of 'glamor_create_gc' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_fill.c:28:
                  glamor.h:233:22: note: previous declaration of 'glamor_create_gc' was here
                  In file included from glamor_fill.c:28:0:
                  glamor_priv.h:685:6: warning: redundant redeclaration of 'glamor_glyph_unrealize' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_fill.c:28:
                  glamor.h:300:23: note: previous declaration of 'glamor_glyph_unrealize' was here
                  In file included from glamor_fill.c:28:0:
                  glamor_priv.h:950:2: warning: redundant redeclaration of 'glamor_upload_picture_to_texture' [-Wredundant-decls]
                  glamor_priv.h:924:2: note: previous declaration of 'glamor_upload_picture_to_texture' was here
                  glamor_priv.h:954:1: warning: redundant redeclaration of 'glamor_fixup_pixmap_priv' [-Wredundant-decls]
                  glamor_priv.h:578:6: note: previous declaration of 'glamor_fixup_pixmap_priv' was here
                  In file included from glamor_priv.h:1007:0,
                                   from glamor_fill.c:28:
                  glamor_utils.h:801:0: warning: "ARRAY_SIZE" redefined [enabled by default]
                  In file included from /usr/include/xorg/privates.h:152:0,
                                   from /usr/include/xorg/cursor.h:53,
                                   from /usr/include/xorg/scrnintstr.h:53,
                                   from glamor.h:32,
                                   from glamor_priv.h:40,
                                   from glamor_fill.c:28:
                  /usr/include/xorg/dix.h:67:0: note: this is the location of the previous definition
                  glamor_core.c: In function 'glamor_gl_has_extension':
                  glamor_core.c:577:9: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
                  In file included from glamor_copyarea.c:28:0:
                  glamor_priv.h:551:11: warning: redundant redeclaration of 'glamor_create_pixmap' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_copyarea.c:28:
                  glamor.h:144:28: note: previous declaration of 'glamor_create_pixmap' was here
                  In file included from glamor_copyarea.c:28:0:
                  glamor_priv.h:570:6: warning: redundant redeclaration of 'glamor_init_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:566:6: note: previous declaration of 'glamor_init_pixmap_fbo' was here
                  glamor_priv.h:571:6: warning: redundant redeclaration of 'glamor_fini_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:567:6: note: previous declaration of 'glamor_fini_pixmap_fbo' was here
                  glamor_priv.h:605:6: warning: redundant redeclaration of 'glamor_create_gc' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_copyarea.c:28:
                  glamor.h:233:22: note: previous declaration of 'glamor_create_gc' was here
                  In file included from glamor_copyarea.c:28:0:
                  glamor_priv.h:685:6: warning: redundant redeclaration of 'glamor_glyph_unrealize' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor_copyarea.c:28:
                  glamor.h:300:23: note: previous declaration of 'glamor_glyph_unrealize' was here
                  In file included from glamor_copyarea.c:28:0:
                  glamor_priv.h:950:2: warning: redundant redeclaration of 'glamor_upload_picture_to_texture' [-Wredundant-decls]
                  glamor_priv.h:924:2: note: previous declaration of 'glamor_upload_picture_to_texture' was here
                  glamor_priv.h:954:1: warning: redundant redeclaration of 'glamor_fixup_pixmap_priv' [-Wredundant-decls]
                  glamor_priv.h:578:6: note: previous declaration of 'glamor_fixup_pixmap_priv' was here
                  In file included from glamor_priv.h:1007:0,
                                   from glamor_copyarea.c:28:
                  glamor_utils.h:801:0: warning: "ARRAY_SIZE" redefined [enabled by default]
                  In file included from /usr/include/xorg/privates.h:152:0,
                                   from /usr/include/xorg/cursor.h:53,
                                   from /usr/include/xorg/scrnintstr.h:53,
                                   from glamor.h:32,
                                   from glamor_priv.h:40,
                                   from glamor_copyarea.c:28:
                  /usr/include/xorg/dix.h:67:0: note: this is the location of the previous definition
                  glamor_copyarea.c: In function '_glamor_copy_n_to_n':
                  glamor_copyarea.c:402:12: warning: variable 'screen' set but not used [-Wunused-but-set-variable]
                  glamor_copyarea.c:395:18: warning: variable 'dst_access' set but not used [-Wunused-but-set-variable]
                  In file included from glamor.c:36:0:
                  glamor_priv.h:551:11: warning: redundant redeclaration of 'glamor_create_pixmap' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor.c:36:
                  glamor.h:144:28: note: previous declaration of 'glamor_create_pixmap' was here
                  In file included from glamor.c:36:0:
                  glamor_priv.h:570:6: warning: redundant redeclaration of 'glamor_init_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:566:6: note: previous declaration of 'glamor_init_pixmap_fbo' was here
                  glamor_priv.h:571:6: warning: redundant redeclaration of 'glamor_fini_pixmap_fbo' [-Wredundant-decls]
                  glamor_priv.h:567:6: note: previous declaration of 'glamor_fini_pixmap_fbo' was here
                  glamor_priv.h:605:6: warning: redundant redeclaration of 'glamor_create_gc' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor.c:36:
                  glamor.h:233:22: note: previous declaration of 'glamor_create_gc' was here
                  In file included from glamor.c:36:0:
                  glamor_priv.h:685:6: warning: redundant redeclaration of 'glamor_glyph_unrealize' [-Wredundant-decls]
                  In file included from glamor_priv.h:40:0,
                                   from glamor.c:36:
                  glamor.h:300:23: note: previous declaration of 'glamor_glyph_unrealize' was here
                  In file included from glamor.c:36:0:
                  glamor_priv.h:950:2: warning: redundant redeclaration of 'glamor_upload_picture_to_texture' [-Wredundant-decls]
                  glamor_priv.h:924:2: note: previous declaration of 'glamor_upload_picture_to_texture' was here
                  glamor_priv.h:954:1: warning: redundant redeclaration of 'glamor_fixup_pixmap_priv' [-Wredundant-decls]
                  glamor_priv.h:578:6: note: previous declaration of 'glamor_fixup_pixmap_priv' was here
                  In file included from glamor_priv.h:1007:0,
                                   from glamor.c:36:
                  glamor_utils.h:801:0: warning: "ARRAY_SIZE" redefined [enabled by default]
                  In file included from /usr/include/xorg/privates.h:152:0,
                                   from /usr/include/xorg/cursor.h:53,
                                   from /usr/include/xorg/scrnintstr.h:53,
                                   from glamor.h:32,
                                   from glamor_priv.h:40,
                                   from glamor.c:36:
                  /usr/include/xorg/dix.h:67:0: note: this is the location of the previous definition
                  glamor.c: In function 'glamor_init':
                  glamor.c:328:6: warning: passing argument 1 of 'glamor_gl_has_extension' discards 'const' qualifier from pointer target type [enabled by default]
                  In file included from glamor.c:36:0:
                  glamor_priv.h:638:6: note: expected 'char *' but argument is of type 'const char *'
                  glamor.c:330:6: warning: passing argument 1 of 'glamor_gl_has_extension' discards 'const' qualifier from pointer target type [enabled by default]
                  In file included from glamor.c:36:0:
                  glamor_priv.h:638:6: note: expected 'char *' but argument is of type 'const char *'
                  glamor.c:350:22: warning: assignment from incompatible pointer type [enabled by default]
                  glamor.c: In function 'glamor_close_screen':
                  glamor.c:536:2: warning: passing argument 1 of 'screen->CloseScreen' makes pointer from integer without a cast [enabled by default]
                  glamor.c:536:2: note: expected 'ScreenPtr' but argument is of type 'int'
                  glamor.c:536:2: error: too many arguments to function 'screen->CloseScreen'
                  make[2]: *** [glamor.lo] Error 1
                  make[2]: *** Waiting for unfinished jobs....
                  make[2]: Leaving directory `/home/chris/build/glamor-git/src/glamor-build/src'
                  make[1]: *** [all-recursive] Error 1
                  make[1]: Leaving directory `/home/chris/build/glamor-git/src/glamor-build'
                  make: *** [all] Error 2

                  Comment


                  • #10
                    Originally posted by GreatEmerald View Post
                    Hey, cooperation is always good. Intel has acceleration that turned out to be not very spectacular, but why not give it to everyone, including AMD, if they have even worse acceleration. Why AMD has such poor acceleration in the first place is another matter, however...
                    Oh definitely! I was just pointing out the irony as well as the fact that a non-AMD dev was able to quickly get results in a little of their spare time. Hopefully with that China deal, AMD will be able to justify putting more resources towards the open radeon drivers.

                    Comment

                    Working...
                    X