ISBERD : Read from ISBE structures used by VTG shaders

Format

SPA 5.0:
        {@{!}Pg}   ISBERD{.io}{.base}{.SKEW}{.sz}   Rd, [Ra]   {&req_6}   {&rdN}   {&wrN}   {?sched}   ;   

 .io:     {.I*,.O}
          Load from the input ISBE (.I) or output ISBE (.O).  Only VSa, VSb, TI, and TS can use .O option.

 .sz:     { .U8*, .U16, .32 } 

 .base:     {.MAP*, .PATCH,.PRIM,.ATTR}
              .MAP    makes accesses relative to starting address of MAP section of ISBE.
              .PATCH  makes accesses relative to starting address of PATCH section of ISBE.
              .PRIM   makes accesses relative to starting address of PRIMITIVE ID section of ISBE.
              .ATTR   makes accesses relative to starting address of vertex ATTRIBUTE section of ISBE.
               Note that MAP section grows reverse in physical ISBE memory, thus Ra offset is negated before accessing ISBE.

Description

Load 32 bits of data from ISBE data structure in shared memory. Operand Ra contains byte address in ISBE relative to .base. This instruction is only allowed in VS/TI/TS/GS shaders.

Examples:

ISBERD.I.MAP       R0, [R2];
ISBERD.O.ATTR.SKEW R2, [R3];

Back to Index of Instructions