Announcement

Collapse
No announcement yet.

Radeon Navi Support Pending For RadeonSI OpenGL Driver With 47k Line Worth Of Changes

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

  • mczak
    replied
    Originally posted by juno View Post
    Regarding the last sentence: this would of course be 3? pre-tess, post-tess, post-raster.
    Ah yes of course, I was thinking 1 or 2 pre-rasterization.

    Leave a comment:


  • marek
    replied
    You guys nailed it.

    Leave a comment:


  • juno
    replied
    Originally posted by mczak View Post
    The hardware VS does not correspond to API VS (which is also why the second part of the sentence explicitly says "API shaders".
    [...]
    So Vega would already merge ES and GS, and also the API VS and TCS, but always a pass-through VS was still required, which is now gone, and there's now always just one (without tessellation) or 2 hw shaders (one pre-tessellator, one post-tessellator).
    I figured out in the meantime, but thanks!

    Regarding the last sentence: this would of course be 3? pre-tess, post-tess, post-raster. But, of course, nothing changed for the fragment shader, so you've just skipped that.

    Leave a comment:


  • cute2dgirl
    replied
    Originally posted by juno View Post
    How are VS, TES and GS merged, when TCS (and the actual tessellation step) is in between?
    Probably bad wording. There's a paper on NGG on Vega somewhere, and I believe you'd merge VS+GS when tessellation is disabled, and ES+GS as well as VS+TCS when tessellation is enabled, for a maximum of two vertex processing stages.

    Anyway, I'd be interested in some clarification on this matter as well. Edit: See post above.

    Leave a comment:


  • mczak
    replied
    Originally posted by juno View Post

    How are VS, TES and GS merged, when TCS (and the actual tessellation step) is in between?
    The hardware VS does not correspond to API VS (which is also why the second part of the sentence explicitly says "API shaders".
    The hardware VS (pre-Navi) is the stage which always actually does the parameter export for rasterization, so it's always last (before the pixel shader).
    Apparently though for gfx10 the last stage doing this is now GS, there's no "VS" stage anymore:
    Code:
    /*
     * API shaders           VS | TCS | TES | GS |pass| PS
     * are compiled as:         |     |     |    |thru|
     *                          |     |     |    |    |
     * Only VS & PS:         VS |     |     |    |    | PS
     * GFX6     - with GS:   ES |     |     | GS | VS | PS
     *          - with tess: LS | HS  | VS  |    |    | PS
     *          - with both: LS | HS  | ES  | GS | VS | PS
     * GFX9     - with GS:   -> |     |     | GS | VS | PS
     *          - with tess: -> | HS  | VS  |    |    | PS
     *          - with both: -> | HS  | ->  | GS | VS | PS
     *                          |     |     |    |    |
     * NGG      - VS & PS:   GS |     |     |    |    | PS
     * (GFX10+) - with GS:   -> |     |     | GS |    | PS
     *          - with tess: -> | HS  | GS  |    |    | PS
     *          - with both: -> | HS  | ->  | GS |    | PS
     */
    So Vega would already merge ES and GS, and also the API VS and TCS, but always a pass-through VS was still required, which is now gone, and there's now always just one (without tessellation) or 2 hw shaders (one pre-tessellator, one post-tessellator).

    Leave a comment:


  • Nille_kungen
    replied
    Linux 5.3 is another 5th so it should be longterm right?
    It would be great to see Navi support in the next longterm kernel.

    Leave a comment:


  • juno
    replied
    The GS stage is used instead of VS. GS is now a merged ES-GS-VS and is more efficient. In this mode, API shaders VS, TES, and GS are said to be compiled as NGG.
    How are VS, TES and GS merged, when TCS (and the actual tessellation step) is in between?

    Leave a comment:


  • shmerl
    replied
    Originally posted by marek View Post

    One of the 2 initial major creators of RADV who is also a current major maintainer of RADV works for Google.
    Ah, indeed. I didn't know Bas works for Google. Are Google officially sponsoring radv work?

    Leave a comment:


  • marek
    replied
    Originally posted by shmerl View Post
    Are Google contributing to radv? Does it mean they are using it for Stadia?
    One of the 2 initial major creators of RADV who is also a current major maintainer of RADV works for Google.

    Leave a comment:


  • shmerl
    replied
    Originally posted by microcode View Post

    Yes, probably.
    Are there any known commits like that? Who is the developer from Google working on it?

    Leave a comment:

Working...
X