Mesa (master): i965: Reorganize brw_reg fields.

Matt Turner mattst88 at kemper.freedesktop.org
Fri Nov 13 19:58:06 UTC 2015


Module: Mesa
Branch: master
Commit: 977df90d6538ae35a5463a6b098ba974d3f0143e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=977df90d6538ae35a5463a6b098ba974d3f0143e

Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri Oct 23 12:17:03 2015 -0700

i965: Reorganize brw_reg fields.

Put fields that are meaningless with an immediate in the same storage
with the immediate. This leaves fields type, file, nr, subnr in the
first dword where there's now extra room for expansion.

Reviewed-by: Emil Velikov <emil.velikov at collabora.co.uk>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_reg.h |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_reg.h b/src/mesa/drivers/dri/i965/brw_reg.h
index af2a49b..d434383 100644
--- a/src/mesa/drivers/dri/i965/brw_reg.h
+++ b/src/mesa/drivers/dri/i965/brw_reg.h
@@ -237,18 +237,18 @@ struct brw_reg {
    unsigned subnr:5;              /* :1 in align16 */
    unsigned negate:1;             /* source only */
    unsigned abs:1;                /* source only */
-   unsigned vstride:4;            /* source only */
-   unsigned width:3;              /* src only, align1 only */
-   unsigned hstride:2;            /* align1 only */
    unsigned address_mode:1;       /* relative addressing, hopefully! */
-   unsigned pad0:1;
+   unsigned pad0:10;
 
    union {
       struct {
          unsigned swizzle:8;      /* src only, align16 only */
          unsigned writemask:4;    /* dest only, align16 only */
          int  indirect_offset:10; /* relative addressing offset */
-         unsigned pad1:10;        /* two dwords total */
+         unsigned vstride:4;      /* source only */
+         unsigned width:3;        /* src only, align1 only */
+         unsigned hstride:2;      /* align1 only */
+         unsigned pad1:1;
       };
 
       float f;
@@ -357,9 +357,6 @@ brw_reg(unsigned file,
    reg.subnr = subnr * type_sz(type);
    reg.negate = negate;
    reg.abs = abs;
-   reg.vstride = vstride;
-   reg.width = width;
-   reg.hstride = hstride;
    reg.address_mode = BRW_ADDRESS_DIRECT;
    reg.pad0 = 0;
 
@@ -372,6 +369,9 @@ brw_reg(unsigned file,
    reg.swizzle = swizzle;
    reg.writemask = writemask;
    reg.indirect_offset = 0;
+   reg.vstride = vstride;
+   reg.width = width;
+   reg.hstride = hstride;
    reg.pad1 = 0;
    return reg;
 }




More information about the mesa-commit mailing list